2012-03-24 38 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

相關問題