Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
 
YourBass
1 / 1 / 0
Регистрация: 02.02.2016
Сообщений: 14
#1

Сделать приложение для отслеживания перемещения ребенка (геоданные) - Android

14.07.2016, 10:58. Просмотров 1042. Ответов 20
Метки нет (Все метки)

Столкнулся с проблемой. Нужно следить за перемещениями ребенка (мониторить где он находится в данный период времени). В интернете готовые решения скажем так очень дорогостоящие. Хочется написать собственное приложение, которое будет собирать данные о местоположении телефона, отправлять их на сервер, а на сервере (хотелось бы реализовать с помощью API яндекс или гугл карт) я могу смотреть где находился мой ребенок в определенный период времени, в идеале с возможностью построения маршрута движения (ну это уже реализация на стороне сервера, с web программированием я справлюсь).
Нужна ваша помощь в реализации самого приложения на Android. Может быть есть готовые мануалы по созданию такого приложения, исходники или энтузиасты, готовые помочь с разработкой. Готов принять любую помощь, подсказки и т.п.

С разработкой под Android раньше не сталкивался почти (писал на delphi в rad studio приложуху простую, но это не в счет). Поэтому обращаюсь к вам. С Web-программированием хорошо знаком, с реализацией сервера вопросов не возникнет.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.07.2016, 10:58     Сделать приложение для отслеживания перемещения ребенка (геоданные)
Посмотрите здесь:

Как сделать триальное приложение? Android
Android Можно ли сделать приложение, которое будет брать RSS-ленту с моего сайта?
Как сделать приложение полноэкранным Android
Android Можно ли сделать на андроид приложение с активностью не во весь экран, а вроде окна на винде?
Как из сайта сделать мобильный сайт (приложение) Android
Как сделать, чтобы приложение выглядело одинаково на всех версиях Android
Android Как сделать андроид приложение для сайта?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
vxg
Модератор
3068 / 1870 / 196
Регистрация: 13.01.2012
Сообщений: 7,123
14.07.2016, 11:13     Сделать приложение для отслеживания перемещения ребенка (геоданные) #2
YourBass, есть и наработки и сама по себе задача интересная. времени нет пока)
OlegJV
102 / 102 / 29
Регистрация: 13.03.2016
Сообщений: 471
14.07.2016, 11:19     Сделать приложение для отслеживания перемещения ребенка (геоданные) #3
в принципе ничего сложного
 Комментарий модератора 
общаемся на форуме
vxg
Модератор
3068 / 1870 / 196
Регистрация: 13.01.2012
Сообщений: 7,123
14.07.2016, 11:21     Сделать приложение для отслеживания перемещения ребенка (геоданные) #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
YourBass, если в двух словах
в onCreate активити делаем так
Java
1
2
3
4
5
6
7
8
9
10
11
12
        LocationManager lm = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
        if (lm != null) {
            Location location = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER);
            if (location == null) {
                location = lm.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
            }
            if (location != null) {
                update(location.getLatitude(), location.getLongitude());
            }
 
            lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, new MyListener());
        }
в самом активити должно быть такое
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
    private class MyListener implements LocationListener {
        @Override
        public void onLocationChanged(final Location location) {
            if (location != null) {
                update(location.getLatitude(), location.getLongitude());
            }
        }
        
        @Override
        public void onProviderDisabled(String provider) {}
        
        @Override
        public void onProviderEnabled(String provider) {}
        
        @Override
        public void onStatusChanged(String provider, int status, Bundle extras) {}
    }
в самом методе update что то подобное
Java
1
2
3
    private void update(double latitude, double longitude) {
        //послать координаты на сервер. как вариант вместе с ID ребенка
    }
YourBass
1 / 1 / 0
Регистрация: 02.02.2016
Сообщений: 14
14.07.2016, 11:30  [ТС]     Сделать приложение для отслеживания перемещения ребенка (геоданные) #5
Я собственно к чему клоню. Какое ПО мне лучше использовать для разработки? Какой язык? Как выше уже писал, пробовал на Delphi в Rad Studio, в принципе приложение работало, функции свои выполняло, но получилось очень громоздким (порядка 200 мб для приложения с одной формой с кнопками, передающего команды Ethernet модулю в одной Wi-Fi сети) и остался недоволен своим результатом.

Общее понимание процесса у меня уже сложилось, алгоритмы в голове уже построены.
OlegJV
102 / 102 / 29
Регистрация: 13.03.2016
Сообщений: 471
14.07.2016, 11:38     Сделать приложение для отслеживания перемещения ребенка (геоданные) #6
Android studio как бы модно сейчас
YourBass
1 / 1 / 0
Регистрация: 02.02.2016
Сообщений: 14
15.07.2016, 12:59  [ТС]     Сделать приложение для отслеживания перемещения ребенка (геоданные) #7
vxg, решил поинтересоваться сколько будет стоить разработка такого приложения в студии. Если честно я в замешательстве... Неужели реально так "сложно" и дорого?
Вложения
Тип файла: pdf kp.pdf (500.2 Кб, 17 просмотров)
vxg
Модератор
3068 / 1870 / 196
Регистрация: 13.01.2012
Сообщений: 7,123
15.07.2016, 13:35     Сделать приложение для отслеживания перемещения ребенка (геоданные) #8
YourBass, все в мире относительно. понятия сложно просто дорого дешево не существуют в объективной реальности. выше я дал вам код прикрутив к которому запрос на сервер вы закроете позицию "разработка приложения под андроид". написав PHP-скрипт из 3-х строчек и положив его на хост с оплатой 100 руб/мес + 130 руб/год за доменное имя вы обеспечите сбор данных на сервере закрыв позицию которой тут нет (с натяжкой можно сказать что это "панель управления"). построить маршрут так же можно при помощи различных API вроде Yandex (еще немного скриптов). вроде бы ничего особенного. но на это нужно время. если то же самое время специалист может быть занят на работе которая оплачивается так как написано в КП почему он должен работать в убыток?
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
15.07.2016, 17:51     Сделать приложение для отслеживания перемещения ребенка (геоданные) #9
Цитата Сообщение от vxg Посмотреть сообщение
почему он должен работать в убыток?
Вы правильно описали подход к выполнению... Но если это ЧАСТНОЕ решение - то это слишком дорого!
Можно еще посмотреть сюда:
http://www.opengts.org/
демо http://track.opengts.org/track/Track
https://play.google.com/store/apps/d...ndroid.cgtsfre
...видел и опенсорс подобного трекера.
А еще видел эмуляторы "стандартных" трекеров... (на плее)
Большинство платных сайтов остлеживания маршрута дают возможность подключить 1-2 бесплатно.

Цитата Сообщение от vxg Посмотреть сообщение
в onCreate активити делаем так
Это не самый правильный подход! Нужен сервис отправки и глобальный ресивер на изменение координат. В идеале отправка должна поддерживать "отложенный режим". Когда связь пропала - координаты сохраняются в базу(на случай зависания/разрядки телефона), а при появлении отправляются (надо ловить еще и связь)
Если это для ребенка - надо убрать ярлык в меню - нельзя давать простых способов удалить программу!
Короче - работа на несколько тяжелых дней, но явно не на 1500$ за программу только под андроид

Да и сайт должен поддерживать авторизацию, несколько юзеров, несколько устройств, хранение базы за период, отображение нескольких или одного трекера... Возможно 500-600$ за серверную часть оправданная цена (если без учета большой нагрузки)! Обработку трекеров на стороне сервера в идеале стоит писать на ноде, питоне или яве(где-то видел готовый опенсорс-сервер) - для работы в потоке с кучей сокетов и пакетной записи в базу (50 координат одним запросом записать в базу быстрее чем выполнить 50 отдельных запросов - в РНР раза в 3-5 минимум) .

..А еще есть куча бесплатных программ антикражи - типа "где я" - может у них есть режим (слежения за ребенком)...
OlegJV
102 / 102 / 29
Регистрация: 13.03.2016
Сообщений: 471
15.07.2016, 18:20     Сделать приложение для отслеживания перемещения ребенка (геоданные) #10
Да выпытать у ребёнка данные гугл аккаунта и смотреть координаты на компе в истории местоположений. Все.

Добавлено через 8 минут
А так накропать приложение с отсылкой координат хоть по смс, хоть на email, хоть get или post на сервер - пара часов не спеша.
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
15.07.2016, 19:16     Сделать приложение для отслеживания перемещения ребенка (геоданные) #11
Цитата Сообщение от OlegJV Посмотреть сообщение
Да выпытать у ребёнка данные гугл аккаунта и смотреть координаты на компе в истории местоположений. Все.
Разве гугл дает полный трек с анализом по времени? (скорости, стоянки)

Цитата Сообщение от OlegJV Посмотреть сообщение
А так накропать приложение с отсылкой координат хоть по смс, хоть на email, хоть get или post на сервер - пара часов не спеша.
Не берите себе в привычку все "упрощать"! Мир программирования куда сложнее (не без "человеческого фактора")! "Накропать" можно... Но потом этим надо еще пользоваться! Тебе сильно поможет набор из пол сотни смс с GPS координатами в час (раз в минуту)? Потом ручками на карту накладывать будешь? И даже если ты сможешь, то это под силу далеко не каждому ЮЗЕРУ! Заставь женщину (мать/бабушку/старшую сестру ребенка) анализировать тектовик на сервере с таблицей координат экспортируя ее в гугл-яндекс мап-сервисы... Нужна нормальная программа! С нормальными сервисами и удобными кнопочками (ребенок 8 часов просидел в школе, а за пол часа "дороги домой" успел побывать где только успел излазив все подворотни и пробежав через лесок по берегу озера вместо прямой дороги)...
OlegJV
102 / 102 / 29
Регистрация: 13.03.2016
Сообщений: 471
15.07.2016, 19:28     Сделать приложение для отслеживания перемещения ребенка (геоданные) #12
Ну я согласен, за ребёнком присмотр нужен. Но мониторить его скорость...)))

Добавлено через 9 минут
Если без паранойи - простейший и экономичный вариант: с телефона родителя отправляем смс с кодом-запросом. У ребёнка ресивер поймав код запускает сервис, который ловит координаты, шлет в смс родителю и отрубается. Телефон родителя поймав смс открывает гуглокарту с указанием положения. Имхо достаточно. Зачем мониторить 8 часов сидения в школе? Возможно я неправ, но ТЗ больно расплывчатое. От телефона то требуется регулярно слать на сервер инфу, в чем тут проблема, кроме убийства батарейки. Все остальное топикстартер как я понял сделает сам на сервере.
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
15.07.2016, 21:27     Сделать приложение для отслеживания перемещения ребенка (геоданные) #13
Цитата Сообщение от OlegJV Посмотреть сообщение
Но мониторить его скорость...)))
Зимой бегать нельзя! Как и на пешеходных переходах... А скорость =0 значит ребенок "застрял" и болтал с кем-нибудь вместо того чтобы не опаздывать "на музыку" или "на спорт"... Зависит от паранойи родителей - а программист (из принципа) должен заложить в программу максимум! ... а еще учитель мог подвести ребенка на машине - это явно "не пешком"...

Ты представляешь себе, как сидя на работе и волнуясь о том "дошел ли уже ребетенок со школы домой" следишь за временем чтобы опросить "ты где"? Проще через 20 минут после вспомнить и на сайте (можно с мобильного) логи просмотреть...

Если в телефоне симка с интернетом (большинство), то батарейка будет садится только на активном GPS... На приличном смарте 8-10 часов должно продержаться! А еще можно "спец-девайс" заказать... "Часы с GPS для детей" (там и кнопка SOS есть и "позвонить маме" и режим "подслушивающего жучка") или специальный гаджет для менеджеров (размером в 2 спичечных коробка) с теми-же функциями, но с зарядом на неделю и без монитора...

топикстартер хотел заказать ПОЛНЫЙ комплекс! Андроид+айфон+сервер! (читай kp.pdf) Даже я долго буду писать программу для вывода на карту с учетом кучи маркеров, скоростей, меток времени, слежения за 2мя детьми/треками одновременно, и т.д... При этом я не плохо знаю php, яваскрипт и работал с картографией. Я убил на эти знания больше полу-года...
OlegJV
102 / 102 / 29
Регистрация: 13.03.2016
Сообщений: 471
15.07.2016, 21:46     Сделать приложение для отслеживания перемещения ребенка (геоданные) #14
Совсем меня запутали. При чем тут pdf? Это ответ на тестовый запрос с целью сориентироваться в ценах. Ни о какой iOS изначально речь не шла, это предложение - инициатива студии, а мы как бы в Андроидной ветке форума. Так же как и серверная часть - её топикстартер берет на себя в первом же посте. Итого в остатке - приложение, отсылающее на известный IP координаты, скорость и направление. Это сложно? Или усложнение задачи это часть маркетинга, а я ничего не понимаю? Так я ещё и сомневаюсь, что без активного GPS мы получим скорость, а не цену на дрова в Гондурасе.
Frozik6k
12 / 12 / 7
Регистрация: 04.04.2016
Сообщений: 50
16.07.2016, 07:53     Сделать приложение для отслеживания перемещения ребенка (геоданные) #15
А если клиентскую часть оформить в виде левого приложения. Допустим в виде игры, но попутно и данные отсылает, тогда ребенок не будет удалять. У меня еще вопрос, обязательно веб-сервер создавать? Может можно на другое андройд устройство данные отправлять? Ну типа, серверная часть будет устанавливаться на телефон.
vxg
Модератор
3068 / 1870 / 196
Регистрация: 13.01.2012
Сообщений: 7,123
16.07.2016, 08:10     Сделать приложение для отслеживания перемещения ребенка (геоданные) #16
Frozik6k, вы можете сделать так как вам хочется. Просто сервер 1 должен быть (=его нужно написать) 2 должен иметь белый адрес 3 должен быть максимально доступным в плане связи
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
16.07.2016, 10:43     Сделать приложение для отслеживания перемещения ребенка (геоданные) #17
Frozik6k, 4 не должен случайно зависнуть в момент прямой передачи пакетов...
А по сути - конечно можно!
3 - не обязатально быть постоянно в сети, если данные кешируются у клиента и отдаются при появлении "сервера" большими упакованными пакетами (можно будет с небольшим опазданием треки просматривать)
2 - не обязательно, если завести "посредника" - некое "временное хранилище" в сети. Да хоть гугл-games вроде что-то подобное предоставляет (недавно интерересовался) - для совместных игр и хранения межигорных "чемпионов". Там можно хранить небольшой пакет с адресами, которые сервер заберет, как только появится, выслав подтверждение о получении...

Цитата Сообщение от OlegJV Посмотреть сообщение
При чем тут pdf? Это ответ на тестовый запрос с целью сориентироваться в ценах.
в pdf сразу шло и предложение по серверной части! Да и вообще без заранее спланированного ТИПА сервера за клиента рано браться - есть как минимум 3 вида отправки данных на сервер - sms, socket, push(вызов например страницы php).

Я когда-то изучал эту задачу!

Не по теме:

Хотел одну фирму (на моем обслуживании по учетной программе) "ломануть" и предложить более удобное решение. У них были гаджеты (размером в пол сигаретной пачки), которые через сокеты отправляли данные на некий сервер, а тот отображал их на карте. Я хотел написать "посредника", на который перенастроил бы гаджеты, сохранял бы полученные координаты в СВОЮ базу, а потом эмулируя устройство отсылал бы по старому адресу, старой карте. Хотел "по своему" отображать треки и накапливать их для анализа и оптимизации в учетной программе


Я изучил такие "готовые" китайские устройства! Есть минимум 20 ФОРМАТОВ пакетов, которые они отправляют!!! Через запятую, через точку с запятой, в начале координаты, в начале уровень топлива в баке, в начале уровень заряда устройства, в начале уровень сигнала, со скоростью, без скорости, с уровнем над моря, с кучей дополнительных датчиков включая температуру воздуха, двигателя и уровень масла... Уверен что твоя клиентская программа отсылающая данные (сделанная за час-два "на коленке") подойдет под один из "стандартных" серверов отображения карты?
OlegJV
102 / 102 / 29
Регистрация: 13.03.2016
Сообщений: 471
16.07.2016, 11:28     Сделать приложение для отслеживания перемещения ребенка (геоданные) #18
С Web-программированием хорошо знаком, с реализацией сервера вопросов не возникнет.
пишет автор. В таком случае согласовать формат данных легко.
YourBass
1 / 1 / 0
Регистрация: 02.02.2016
Сообщений: 14
18.07.2016, 13:23  [ТС]     Сделать приложение для отслеживания перемещения ребенка (геоданные) #19
OlegJV, ну вообще в голове крутится самый простой вариант - создать на сервере php файл (обработчик), с клиента post-ом отправлять данные на сервер, обработчик все будет писать в базу, фиксируя дату/время. Далее будет самый простой интерфейс с выбором даты/времени (подхватывать будет из базы). Я понимаю что могут возникнуть проблем с соединением (ребенок интернет отключил на телефоне, сервер подвис и т.д.), но все равно примерное понимание маршрута будет. А там уже через API Гугла или Яндекса реализовать на мой взгляд реально.

Добавлено через 4 часа 13 минут
Frozik6k, с реализацией серверной части на андроид-устройстве сложный вариант вы выбрали. Да, можно сделать приложение, которое будет отображать карту и точку на ней по определенным координатам, но данные все равно нужно получать, обрабатывать, записывать и хранить, вот как раз для этого и нужен сервер.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.07.2016, 14:22     Сделать приложение для отслеживания перемещения ребенка (геоданные)
Еще ссылки по теме:

Android Как сделать приложение без единого активити
Программа для отслеживания местоположения по карте Android
Android Переделать приложение для Андроид в приложение для ПК
Android Что нужно знать, чтобы сделать приложение?
Из сайта игры сделать мобильное приложение без знания Java Android

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
OlegJV
102 / 102 / 29
Регистрация: 13.03.2016
Сообщений: 471
18.07.2016, 14:22     Сделать приложение для отслеживания перемещения ребенка (геоданные) #20
Да и статический IP на смартфоне сложновато...
Yandex
Объявления
18.07.2016, 14:22     Сделать приложение для отслеживания перемещения ребенка (геоданные)
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru