一尘不染

Android中客户端服务器通信的选项

java

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

我的项目是用于移动设备的票务预订系统,我选择了以Android为目标。

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

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

到目前为止,我还没有在互联网上找到任何有很大帮助的东西,所以我知道了SO可以建议什么。

我特别想知道:

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

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


阅读 138

收藏
2020-12-03

共1个答案

一尘不染

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

我个人的看法-尽管我并不觉得自己一个人这样想-
但只有专门设计用于在Internet上运行的协议才能远程适用于移动客户端。因此,在您的清单中,我什至只招待您的是:

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

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

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

在Android平台上使用时,现有Java库的运行状况如何(或没有)?

很难抽象地回答这一点。Android实现了JavaSE的很大一部分,但不是全部JavaSE,因此任何给定的JAR都有可能期望Android无法提供的功能。同样,Android不使用环境变量,命令行开关或开发人员专注于台式机的其他各种事物,它们可能是半要求。因此,有些事情对我来说只不过是重新编译而已(Beanshell),而某些事情在删除了多余的类之后就对我有用(JTwitter),而有些事情看起来像它们将变得可怕起来(JavaMail)

2020-12-03