2015-08-26 2 views
0

Я строю одно приложение, созданное для людей, работающих там, где нет Интернета, обычно некоторым сотрудникам нужно просить разрешения для своего босса. Приложение будет делать много вещей, например, пытаясь связаться с боссом, чтобы что-то спросить.Коммуникация двух телефонов Android без Интернета, а затем синхронизация

Мы говорили о том, как это решить.

У нас будет публичный сервер, который будет прослушивать эти разрешения с одного телефона и отправлять его на другой телефон. Они могут быть очень далеко.

Так что если у телефона нет интернета, он попытается сохранить информацию, а затем отправить ее еще раз, когда он находится в городе.

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

Является своего рода нормальной проблемой, что я хочу знать, это то, что Android должен помочь в этом. Я прочитал много вещей, но они не работают, потому что -lacking интернет-. Я считаю, что это не очень важно.

Я полагаю, что для решения таких проблем должно быть что-то, мы можем использовать Службы, TCP, Сообщения. Но кто-то управляет интернет-сервисом, мы можем быть более 6 часов без Интернета.

Даже мы предпочитаем, если нам не нужен сервер, возможно, их два подключения могут быть доступны без сервера.

Мы предпочли бы использовать только телефоны, возможно ли это?

С уважением,

ответ

0

Вы можете использовать Parse.com как свою базу данных. Он будет обрабатывать сохранение в Интернете, когда соединение станет доступным. Каждый телефон может вытащить последние данные в соответствующее время, или вы можете отправлять push-сообщения.

+0

В настоящий момент мы уже используем ORMLite. С уважением, –

+0

ORMLite на устройстве, не так ли? Это не помешало бы использовать parse.com в качестве вашей облачной системы связи/хранения. В зависимости от ваших требований, которые также могут означать, что вам вообще не нужно управлять сервером. Я не говорю, что это единственный вариант - GCM тоже будет хорошим решением. – nasch

0

Возможно, вы захотите изучить GCM (Google Cloud Messaging). GCM будет хранить сообщения на устройстве в течение определенного периода времени (до 4 недель), если устройство не находится в Интернете. Я не знаю, что произойдет, если вы попытаетесь отправить восходящее сообщение (от устройства к серверу), если у вас нет подключения к Интернету.

+0

В этом случае здесь будет использоваться наш сервер. У нас уже есть сервер. С уважением, –

1

Я предлагаю вам: 1) сохранить каждый "NoInternet" Android сообщение внутри SQLite Db (идентификатор, сообщение, create_at)

2) создание Android службы, главная цель состоит в том, чтобы послать "NoInternet". сообщение

3) создать и Android BroadcastReceiver, которые прослушивают подключение к сети и запускают службу для POST для всех сохраненных сообщений «NoINternet».

Я надеюсь, что это может вам помочь. ;-)

+0

Привет, как я могу использовать Сервис и что такое BroadcastReceiver.Нам важно не использовать много памяти. С уважением, –

+0

Android BroadcastReceiver - это объект, который способен прослушивать некоторые системные события, такие как network_connexion, system_boot, sms_receiv, screen_on, screen_of ... и т. Д., Я могу просто посоветовать вам найти, как пользоваться Android-сервисом и как используйте Android BroadcastReceiver в поиске Google, объясните, что здесь может занять много строк, извините ... :-( –

+1

Ps, ищите IntentService. по адресу: https://developer.android.com/training/run-background-service/create -service.html –

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