2010-04-08 4 views
4

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

В настоящее время система передает данные объекта с компьютера на компьютер с использованием ActiveMQ в качестве поставщика JMS. На одном из компьютеров отображается экран, который показывает данные объекта пользователю.

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

В идеале мы хотели бы иметь собственное приложение на Android, которое будет прослушивать тему ActiveMQ и публиковать в другой теме и читать/записывать/отображать данные объекта, но из некоторых исследований, которые я сделал, я не уверен если это возможно.

Каковы другие способы решения этой проблемы? Android-телефон должен иметь возможность отправлять/получать данные. Я использую AndroidEmulator для тестирования.

ответ

4

Быстрый и грязный способ заключается в том, чтобы ваша JMS выталкивала данные на сервер XMPP/Jabber и использовала XMPP-библиотеку, такую ​​как Smack API на Android для подключения. Преимущество такого подхода заключается в том, что

  1. Вы можете эмулировать двухточечный и паб/sub в JMS.
  2. XMPP довольно расширяемый, поэтому вы можете вместо того, чтобы переносить свою полезную нагрузку в виде текста чата, вы можете создать собственное пространство имен в пакете XMPP. Для переносимости данных вы можете использовать легкий вес, такой как JSON, в пространстве имен.
  3. XMPP будет обрабатывать ваше присутствие для вас, поэтому ваше приложение не должно отслеживать службы, если они находятся в сети.

Есть хорошая статья here, которая показывает вам, как использовать Smack на Android.