Java和Android之间的交互

我目前正在尝试研究如何在现有的基于java的系统中使用Android。 基本上,我需要与Android应用程序进行通信。

系统当前使用ActiveMQ作为JMS提供程序将对象数据从计算机传递到计算机。 在其中一台计算机上是一个向用户显示对象数据的显示器。

我们现在要做的是使用手机(运行Android)作为另一个选项,向具有wifi /网络访问权限的用户显示此对象数据。

理想情况下,我们希望在Android上有一个本机应用程序,它可以监听ActiveMQ主题并发布到另一个主题并读取/写入/显示对象数据,但是从我做过的一些研究中,我不确定这是否可行。

有什么其他方法可以解决这个问题? Android手机需要能够发送/接收数据。 我一直在使用AndroidEmulator进行测试。

一种快速而肮脏的方法是让您的JMS将数据推送到XMPP / Jabber服务器,并在Android上使用类似Smack API的XMPP库进行连接。 这种方法的优点是

  1. 您可以模拟JMS中的点对点和pub / sub。
  2. XMPP是可扩展的,因此您可以做的不是将有效负载作为“聊天”文本,您可以在XMPP数据包中创建自己的命名空间。 对于数据可移植性,您可以在命名空间中使用类似JSON的轻量级。
  3. XMPP将为您处理您的状态,以便您的应用程序无需在线时跟踪服务。

这里有一篇很好的文章向您展示如何在Android上使用Smack。