2012-03-24 2 views
1

Я разрабатываю приложение для доказательства концепции в школе, и мне нужно разработать простое приложение, которое позволяет родительскому треку установить дочернее устройство Android. Я выяснил, как использовать GPS для получения обновлений местоположений сейчас. Каков наилучший способ преодолеть разрыв между устройством родителя и устройством ребенка? Как приложение узнает, кто является родителем и кто является ребенком? Также лучше всего отправлять данные ребенка с помощью getLastKnownLocation (лучше всего) на удаленный сервер, а затем каким-либо способом отправить родителям или есть более простой способ сделать это?Отправка обновлений местоположений на сервер в Android

Заранее благодарен.

03/25/2012 * ** * ** * *Update* ** * ** * ** * ** * ** * ** * ** * *

Ok на основе рекомендаций от вас, ребята, у меня есть код PHP в файле

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

и я отправить строку веб-службы с помощью этого кода в методе

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(); 

    }... 

Это дает мне тост, говорящий «тест стринг-теста». ОК теперь это работает, но как я могу отправить две разные переменные, такие как long и lat. а затем получить две разные переменные из responseHandler, когда я выполняю команду httpclient.execute (httppost, responseHandler).

ответ

1

Возможно, у вас должно быть зарегистрировано зарегистрирование вашего приложения, которое пробуждает сервис, установленный с вашим приложением, на дочернем телефоне. Эта служба должна отправлять данные о местоположении на сервер, который будет перенаправлять его на родительский телефон. Приложению также потребуется установить службу на родительском телефоне для получения уведомлений.

Чтобы решить, кто является родителем, а какой является дочерним, вам, скорее всего, потребуется настроить приложение отдельно на каждом телефоне, то есть родительский установить приложение на свой телефон и на дочерний телефон и установить дочерний телефон в качестве дочернего и их как родителя. Вы можете защитить паролем эту настройку.Другим вариантом было бы разработать два приложения: «Где мой малыш» (отслеживание) и «Где мой малыш» (родитель).

Наконец, вам нужна система, работающая на сервере для управления данными, поступающими от ребенка. Затем он отправит соответствующую информацию родительскому устройству. Вы также можете создать родительскую учетную запись, а затем войти в нее на родительском и дочернем устройствах, чтобы сервер знал, куда отправлять информацию.

Это не простой проект. Если вы хотите создать что-то коммерческое или дистрибутивное, для этого потребуется немалая работа. Если это действительно только доказательство концепции, как вы упомянули, вы можете сократить некоторые углы. В любом случае, то, что я изложил, в значительной степени минимально вам нужно.

+0

Да, это доказательство концепции, поэтому я определенно хочу сократить углы. Один вопрос для вас и @broschb - это настройка сервера. У меня есть собственная учетная запись хостинга, которая использует cpanel. Каков наилучший вид системы для настройки данных? – inspired

+0

Что-нибудь в PHP или Rails работало бы чудесно. В основном вы настраиваете разные веб-страницы, которые служат в качестве «API» вашего сервера. Приложение будет вызывать различные веб-страницы (или одну большую веб-страницу) с координатами местоположения в querey или что-то еще. – dcow

+0

, пожалуйста, ознакомьтесь с моим обновлением по моему сообщению – inspired

1

Простым подходом было бы выполнение службы на дочернем устройстве. Каждый так часто получает текущее местоположение , и отправляет обновление на сервер. Затем у вас будет приложение на родительском устройстве, которое может по запросу или в другом опросе службы для обновлений через регулярные промежутки времени.

Это простейший подход, но он должен выполнить то, что вы хотите Что касается определения того, какое устройство должно быть у вас в состоянии контролировать это на уровне приложения (может быть два разных приложения или одно и то же приложение, а одно настраивается как клиент (дочерний) в конфигурации, возможно, ключ для изменения настроек или возможно, те вытягиваются с сервера. Вам также понадобится какое-то сопряжение, чтобы вы могли убедиться, что родитель просматривает правильную дочернюю информацию. Это может быть так же просто, как вывод, который генерируется и отображается на обоих устройствах для подтверждения во время начальной настройки.

Я бы начал просто и расширяться по мере развития потребностей.

+0

Спасибо! Я сейчас начну пробовать это. Я вернусь, если я застрял где-нибудь на этом пути. Еще раз спасибо. – inspired

+0

@David Cowden, пожалуйста, ознакомьтесь с моим обновлением на моем посте – inspired

Смежные вопросы