2015-03-05 3 views
0

Я разрабатываю приложение для Android, которое позволяет пользователям делиться данными локализации между ними и показывать их на карте. Я сделал это, и его работа, но я ищу лучшую производительность, или просто лучший образец для приложения, подобного этому. На данный момент мое приложение использует https-соединение между клиентом android и REST-сервлетом на tomcat. Например, если пользователь зарегистрирован, он отправляет свои данные gps каждые 10 секунд на сервер и получает другие позиции пользователей. Все по HTTP POST.Приложение для обмена данными с клиентским сервером Android. Gps data

Первое, что я хочу спросить вас:

ли кто-нибудь знает лучшее решение для синхронизации данных с сервером, чем андроид службы с таймерной задачи каждые 10 сек? У меня есть фоновый сервис, который работает все время, и каждые 10 секунд запускает AsyncTask, который запрашивает сервер о локализации пользователей.

И что вы думаете о способе соединения с сервером? Может быть, лучше создать соединение сокетами?

Заранее благодарим за ответы.

ответ

1

Вы правы. Нет необходимости устанавливать соединение http каждые 10 секунд. Это абсолютно неэффективно для клиентов и вашего сервера с точки зрения использования ЦП и передачи данных.

Там уже два решения, которые я полагаю, более подходящим для вас задачи:

  1. Да, сокеты. Соединение Socket довольно легко реализовано на Android. Два потока, которые совместно используют соединение сокетов: сначала считывают данные, а второй записывают данные. Чтобы получить данные, когда телефон спит, вы можете воспользоваться услугой GCM.

  2. P2P подключение. Это вполне разумно, поскольку, как я понял, вам не нужно изменять или отслеживать передачу данных вашим сервером. Клиенты просто будут общаться друг с другом.

+0

Благодарим за быстрый ответ. Но мой клиент ожидает безопасного соединения, поэтому прямо сейчас я подключаюсь через https, а что касается безопасного соединения сокетов? Является ли это возможным? –

+0

@MarcinW Конечно. Вам просто нужно использовать соединение сокетов SSL. Вы можете прочитать об этом здесь: https://developer.android.com/intl/ru/training/articles/security-ssl.html – eleven

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