我目前处于论文项目的研究阶段。
我的项目是用于移动设备的票务预订系统,我选择了以Android为目标。
我预计需要具有中央服务器的客户端/服务器架构,因此目前正在研究Android如何与此类服务器进行通信。服务器将授予客户端访问票务信息的权限,客户端会将有关票务预订的信息发送到服务器。我正在寻找服务器的Java EE,因为Java是我最有经验的语言。
我知道Android附带了java.nio和java.net以及一些org.apache软件包,但我也在寻找可以与Android一起使用的库/技术。
java.nio
java.net
org.apache
到目前为止,我还没有在互联网上找到任何有很大帮助的东西,所以我知道了SO可以建议什么。
我特别想知道:
理想情况下,由于我的项目重点不是服务器和客户端之间的通信,因此我可以使用现有的中间件来处理通信,但是我已经为最坏的情况做好了准备,那就是必须编写自己的中间件。
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特定问题。
java.net.URLConnection
在Android平台上使用时,现有Java库的运行状况如何(或没有)?
很难抽象地回答这一点。Android实现了JavaSE的很大一部分,但不是全部JavaSE,因此任何给定的JAR都有可能期望Android无法提供的功能。同样,Android不使用环境变量,命令行开关或开发人员专注于台式机的其他各种事物,它们可能是半要求。因此,有些事情对我来说只不过是重新编译而已(Beanshell),而某些事情在删除了多余的类之后就对我有用(JTwitter),而有些事情看起来像它们将变得可怕起来(JavaMail) 。