2012-03-24 40 views
1

我正在开发一个概念证明应用程序在学校,我需要开发一个简单的应用程序,让父母跟踪孩子的Android设备。我已经想出了如何使用GPS来获取位置更新现在什么是弥合父母的设备和孩子的设备之间的差距的最佳方式?该应用程序如何知道谁是父母,谁是孩子?最好还是使用getLastKnownLocation(最好)将孩子的数据发送到远程服务器,然后发送给父母,还是有更简单的方法来完成此操作?发送位置更新到服务器在Android中

在此先感谢。

2012年3月25日* ** * ** * *更新* ** * ** * ** * ** * ** * ** * ** * *

好吧基于从你们那里我有PHP代码的文件

<?php 
$thisString = $_POST["action"]; // Variable to receive the request from 
echo $thisString; 
?> 

和我的方法的字符串发送到Web服务使用此代码的建议

HttpClient httpclient = new DefaultHttpClient(); 
    HttpPost httppost = new HttpPost("http://kre8tiveinspired.com/android/simpleTest.php"); 
    // This is the data to send 
    String MyName = **"String Test"**; //any data to send 
    try { 
    // Add your data 
    List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(1); 
    nameValuePairs.add(new BasicNameValuePair("action", MyName)); 

    httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); 

    // Execute HTTP Post Request 
    ResponseHandler<String> responseHandler = new BasicResponseHandler(); 
    String response = httpclient.execute(httppost, responseHandler); 

    //This is the response from a php application 
    String reverseString = response; 
    Toast.makeText(this, "response " + reverseString, Toast.LENGTH_LONG).show(); 

    }... 

它给我一个说“响应字符串测试”的敬酒。 现在确定它可以工作,但我将如何发送两个不同的变量,如长和经度。然后接收来自ResponseHandler所两个不同的变量,当我执行 httpclient.execute(httppost,ResponseHandler所命令。

回答

1

您应该可能会让您的应用程序注册警报,以便在子电话上唤醒与您的应用程序一起安装的服务。此服务应将位置数据发送到服务器,并将其推送到父电话。该应用还需要在父母电话上安装服务以接收通知。

要确定哪个是父母,哪个是孩子,您最有可能需要在每部手机上分别配置应用程序,即让父母在手机和子手机上安装应用程序,并将子手机设置为孩子和他们的父母。您可能会使用密码保护此设置。另一种选择是开发两个应用程序,我的孩子在哪里(跟踪)和Where's My Kid(父母)。

最后,您需要一个在服务器上运行的系统来管理来自该孩子的数据。然后它会将相关信息发送给父设备。您也可以让父母创建一个帐户,然后让他们登录父设备和子设备,以便服务器知道将信息发送到哪里。

这不是一个简单的项目。如果你正在寻求建立一个商业或分配的东西,这将需要相当多的工作。如果它真的只是你提到的一个概念证明,你可以削减一些角落。无论哪种方式,我所概述的是最低限度的需求。

+0

是的这是一个概念证明,所以我绝对期待偷工减料。你和@broschb的一个问题是如何配置服务器。我有我自己的主机帐户,使用cPanel。建立接收数据的最佳系统是什么? – inspired 2012-03-24 04:02:21

+0

任何在PHP或Rails中都可以很好地工作。 基本上,你设置了不同的网页作为你的服务器的“API”。您的应用程序将调用不同的网页(或一个大网页),其中包含querey中的位置坐标或其他内容。 – dcow 2012-03-24 04:30:09

+0

请在我的帖子中查看我的更新 – inspired 2012-03-25 23:34:38

1

一个简单的方法就是让孩子设备上运行的服务。每隔一段时间,在获取当前位置,然后将更新发送到服务器,然后您可以在父设备上安装应用程序,可以根据请求或在其他服务轮询中定期进行更新。 。关于确定应该在应用程序级别控制哪个设备(可能是两个不同的应用程序,或者同一个应用程序,并且在config中设置为客户机(子级)),可能还有一个用于更改设置的密钥,或者也许那些从服务器拉出来。您还需要进行某种配对,以确保父母正在查看正确的儿童信息。这可能与在两个设备上生成并显示的引脚一样简单,以便在初始设置期间进行确认。

我会开始简单和扩大开发需求。

+0

非常感谢!我现在要开始尝试。如果我在路上遇到任何问题,我会回来。再次感谢。 – inspired 2012-03-24 03:51:45

+0

@David Cowden请在我的帖子中查看我的更新内容 – inspired 2012-03-26 01:25:24

相关问题