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

2024-04-29

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

我的项目是一个针对移动设备的订票系统,我选择以 Android 为目标。

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

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

到目前为止,我还没有在互联网上找到任何有很大帮助的内容,所以我正在看看 SO 可以提出什么建议。

具体来说,我有兴趣了解:

  1. What support is there for various middleware technologies in Android? e.g.
    • 基于RPC的中间件
    • CORBA
    • 基于消息的中间件
    • Web 服务,例如 XML-RPC、SOAP、REST
  2. 现有 Java 库在 Android 平台上使用时效果如何? (例如,如果我想使用为 Java SE 而不是 Android 设计的库/API,我可能会遇到什么问题?)

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


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

我个人的观点是,只有专门设计用于在互联网上运行的协议才适合远程与移动客户端一起使用,尽管我并不认为我是唯一一个这么想的人。所以,在你的清单中,我唯一愿意接受的就是:

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

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

我已经成功地使用了java.net.URLConnectionAndroid 中的 Apache HTTPClient 库用于与 REST 样式端点进行通信(直接或通过第三方 JAR),没有真正的 Android 特定问题。

现有的 Java 做得如何(或不佳) 库在使用时可以工作 安卓平台?

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android 中客户端服务器通信的选项 的相关文章

随机推荐

  • 处理网络断开

    我正在尝试使用 HttpWebRequest 对象进行 长轮询 在我的 C 应用程序中 我使用 HttpWebRequest 发出 HTTP GET 请求 然后 我使用 beginGetResponse 等待响应 我正在使用 ThreadP
  • 转换为“const Y”不适用于 clang 上的“R&&”

    以下代码可以正常编译g GCC 4 7 1 20120721 但 最近构建失败clang version 3 2 trunk struct Y struct X operator const Y const return Y void f
  • 将数组转换为 Json [重复]

    这个问题在这里已经有答案了 可能的重复 在 jQuery 中序列化为 JSON https stackoverflow com questions 191881 serializing to json in jquery 将对象转换为 JS
  • 是否可以重载 *static_cast* 运算符?

    我定义了一个类A 实际属性无关 是否可以定义一个专业化static cast
  • 如何获取Access数据库中已更改的记录详细信息

    我有一个 Access 数据库 其中有许多表和数千条记录 如果有人更改其中的任何数据 任何行 甚至只是一个单元格 有什么方法可以知道哪些特定行或单元格已更改Access 数据库 任何属性或者我应该使用任何触发器吗 几年前我在使用 MSSQL
  • 在ListView.builder() flutter中动态创建单选按钮Group

    我想创建一个这样的用户界面 最后 我得到了所有选定单选按钮的详细信息 这是我的完整代码 当我尝试这样做时 所有单选按钮都转向一侧 import package flutter cupertino dart import package fl
  • 如何在mySQL数据库中安全地插入代码

    我正在构建一个网站 用户可以使用 PHP 和 mySQL 数据库来存储代码片段 但我不知道如何安全地将用户输入的代码插入我的数据库 我无法使用我通常使用的 安全 功能来转换输入 trim stripslashes等 因为重点是您可以将代码视
  • Reactjs:追加而不是用渲染方法替换

    我是 ReactJs 的新手 我脑子里有很多问题 例如我想追加而不是用 render 方法替换 Can I 安全简单做这个 创建一个临时 div var temp document createElement div ReactDOM re
  • 用于计算井字游戏独特状态的高效算法

    我正在尝试构建一个井字游戏来演示和实验机器学习算法 并且我发现了一个有趣的问题 例如 井字棋板可以是mirrored 但出于机器学习的目的 这两种状态是等效的 x o o x o o x x o o 同样地旋转 x o x o o o x
  • 显示部分/div 取决于链接中的哈希值 # 后

    我有以下页面 section height 1000px background yellow margin 50px section Section one section section Section two section 如果用户来
  • 将白色反转为黑色 uiimage

    我有以下 UIImage 使用 Objective C 我希望能够将白色反转为黑色 反之亦然 任何帮助 将不胜感激 Swift Using CIContext代替 UIImage CIImage see https stackoverflo
  • 在 WP7 中进行同步 Http/REST 调用?

    我一直在开发 Windows Phone 7 应用程序 并尝试使用 HttpWebRequest GetResponse 进行同步 REST 调用 但编译器抱怨 GetResponse 不可用 我在HttpWebRequest中找到了Beg
  • 如何使 PHPunit 在警告时返回非零退出状态

    当在一些失败并出现警告的测试中调用 PHPunit 时 我得到 phpunit c phpunit xml group app Warning MongoCollection insert expects parameter 1 to be
  • jQuery 动画,不流畅

    你知道动画猫如何才能移动得更流畅吗 很卡顿 不知道如何让它变得更流畅 jQuery fx interval 没有帮助 http christianhaller com jquery animate img html http christi
  • LibUsb 声明接口访问被拒绝 Java

    我希望能够从 USB 计步器读取数据 我正在 Java 中尝试此操作 并且使用 LibUsb 和 Usb4Java 库 我似乎无法认领 USB 管道或类似的东西 我正在使用的代码 final Context context new Cont
  • VB.NET 使用 system.net.tcpclient 编写 telnet 客户端

    当我连接到我的Solaris盒子时这对我不起作用 服务器正在回传 有谁知道我做错了什么 Imports System Net Imports System Net Sockets Imports System Text Public Cla
  • 添加滑动删除UITableViewCell

    我正在制作一个清单应用程序UITableView 我想知道如何添加滑动删除UITableViewCell 这是我的 ViewController swift import UIKit class ViewController UIViewC
  • itunesconnect 应用程序 - 恢复到以前的版本

    我发布了我的应用程序的更新并获得批准 尽管它包含一个严重的本地化错误 大多数用户都得到了错误的语言 但它还是获得了批准 有什么方法可以快速恢复到以前的版本 暂停当前版本的当前下载 或者其他任何可能有助于解决此问题的方法 我几年前确实读过以下
  • nodejs 强大的改变 uploadDir

    我有一个项目正在努力完成我想上传图像 我可以上传图像 但不能上传应该上传的空中图像 好的 让我们编写代码 app post register function req res var form new formidable Incoming
  • Android 中客户端服务器通信的选项

    我目前正处于论文项目的研究阶段 我的项目是一个针对移动设备的订票系统 我选择以 Android 为目标 我预计需要带有中央服务器的客户端 服务器架构 因此目前正在研究 Android 如何与这样的服务器进行通信 服务器将授予客户端访问票务信