Как два приложения для Android общаются друг с другом? - PullRequest
3 голосов
/ 24 октября 2009

Какова общая коммуникационная архитектура для двух приложений для Android?

Дело 1:

У меня есть два приложения для Android,

a) Один из них - это сервер, который ожидает клиентского запроса, обрабатывает запрос (читает данные из некоторой базы данных sqlite) и возвращает результаты клиенту. Это серверное приложение работает на своем независимом телефоне Android.

b) Второй - это клиент, который отправляет запрос серверному приложению в (a), и он тоже работает на своем независимом телефоне Android.

Вопрос в том, должны ли два приложения проходить через поставщика услуг мобильной связи для обеспечения связи? или они могут просто общаться друг с другом напрямую через какой-либо общедоступный IP / WIFi и т. д. Какова структура / архитектура связи для этих приложений?

Дело 2:

У меня есть приложение для Android, работающее на независимом телефоне Android, и я хочу, чтобы оно взаимодействовало с каким-либо серверным приложением (веб-сервером / сервером приложений), запущенным на каком-либо компьютере в Интернете, отправляло запрос и получало обратную связь.

Опять же, должны ли два приложения проходить через поставщика мобильных услуг для облегчения связи? или они просто устанавливают прямую связь по TCP / IP через какой-то общедоступный IP-адрес?

Любые справочные статьи действительно помогут.

Спасибо

Гаф

Ответы [ 3 ]

3 голосов
/ 24 октября 2009

Вопрос, есть ли два приложения должны пройти через мобильный сервис Провайдер для связи?

Если вы хотите использовать 3G, да. Если вы хотите использовать WiFi, нет. Как правило, приложениям Android все равно, откуда происходит интернет-соединение.

или они могут просто разговаривать друг с другом напрямую через общедоступный IP / WIFi и т. д.

Если у них есть соединение WiFi, у них есть соединение WiFi. Что вы делаете с этим WiFi-соединением, зависит от вас, используя Java-сокеты и соблюдая все обычные проблемы с доступом в Интернет (например, NAT).

Опять же, два приложения должны пройти через оператора мобильной связи облегчить общение? или они просто установите прямой TCP / IP общение через какой-нибудь публичный IP?

Вы запрашиваете сокет Java. Вы получаете сокет Java. Вы делаете что-то с сокетом Java. Откуда берется этот сокет Java и как работает его соединение, обычно под прикрытием: 3G, WiFi, эскадрилья очень маленьких пассажирских голубей и т. Д.

1 голос
/ 24 октября 2009

Я бы предложил Android - IPC, aidl и IBinder и Для начала постигну механизм IPC Android . После этого просто поищите в Google «Android IPC»

0 голосов
/ 26 октября 2009

Что-то о синхронизации здесь Синхронизация в Android

...