繁体   English   中英

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

[英]Options for Client Server Communication in Android

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

我的项目是移动设备的订票系统,我选择定位Android。

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

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

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

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

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

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

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

我的个人意见 - 虽然我不认为我是这样思考的 - 只有专门设计为通过互联网运行的协议才能远程适用于移动客户端。 所以,在你的名单中,我唯一可以接受的是:

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

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

我已成功使用Android中的java.net.URLConnection和Apache HTTPClient库与REST样式的端点进行通信 - 无论是直接还是通过第三方JAR - 都没有真正的Android特定问题。

在Android平台上使用时,现有Java库的工作效果如何?

摘要中很难回答这个问题。 Android实现了JavaSE的一个重要子集,但不是所有的JavaSE,所以任何给定的JAR都有可能期望Android不提供的东西。 同样,Android不使用环境变量,命令行开关或开发人员专注于桌面的各种其他东西作为半需求引入。 所以,有些东西对我来说只不过是重新编译(Beanshell),在删除多余的类(JTwitter)之后,有些东西对我有用,而且有些事情看起来很可怕(JavaMail) 。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM