13

我目前正处于我的论文项目的研究阶段。

我的项目是一个移动设备的订票系统,我选择了 Android。

我预计需要具有中央服务器的客户端/服务器架构,因此目前正在研究 Android 如何与这样的服务器进行通信。服务器将授予客户端访问票务信息的权限,并且客户端将有关票务预订的信息发送到服务器。我正在研究用于服务器的 Java EE,因为 Java 是我最熟悉的语言。

我知道 Android 带有java.nioandjava.net以及一些org.apache软件包,但我也在寻找可以与 Android 一起使用的库/技术。

到目前为止,我还没有在互联网上发现任何有用的东西,所以我看到了 SO 可以提出的建议。

具体来说,我有兴趣知道:

  1. Android中对各种中间件技术有哪些支持?例如
    • 基于 RPC 的中间件
    • 科尔巴
    • 基于消息的中间件
    • Web 服务,例如 XML-RPC、SOAP、REST
  2. 现有的 Java 库在 Android 平台上使用时效果如何(或不怎么样)?(例如,如果我想使用为 Java SE 而不是 Android 设计的库/API,我可能会遇到什么问题?)

理想情况下,由于我的项目的重点不是服务器和客户端之间的通信,我可以使用现有的中间件来处理通信,但我已经为最坏的情况做好了准备,那就是必须自己编写。

4

1 回答 1

15

Android中对各种中间件技术有哪些支持?

我个人的看法——尽管我并不觉得只有我一个人这样想——只有专门设计用于在 Internet 上运行的协议才能远程适用于移动客户端。所以,在你的名单中,我什至会招待的唯一一个是:

Web 服务,例如 XML-RPC、SOAP、REST

有些人一直在维护 kSOAP2 的 Android 端口。然而,我得到的明显印象是,大多数从事该领域工作的 Android 开发人员都倾向于 REST 和 REST-ish 协议。如果没有别的,那就是所有有趣的网站和服务都在使用 API,特别是与 XML-RPC(旧)和 SOAP(旧和 icky)相比。

我已经成功地使用java.net.URLConnectionAndroid 中的 Apache HTTPClient 库和 REST 风格的端点进行通信——直接和通过第三方 JAR——没有真正的 Android 特定问题。

现有的 Java 库在 Android 平台上使用时效果如何(或不怎么样)?

很难抽象地回答这个问题。Android 实现了 JavaSE 的一个重要子集,但不是所有 JavaSE,因此任何给定的 JAR 都有可能期望 Android 不提供的东西。类似地,Android 不使用环境变量、命令行开关或其他各种专注于桌面的开发人员可能作为半要求引入的东西。所以,有些东西只需要重新编译(Beanshell)就对我有用,有些东西在删除冗余类(JTwitter)后对我有用,有些东西看起来很难正常工作(JavaMail) .

于 2009-11-06T21:09:31.657 回答