【问题标题】:Best REST Client Framework/Utility on Android [closed]Android上的最佳REST客户端框架/实用程序[关闭]
【发布时间】:2011-02-09 12:54:59
【问题描述】:

我即将构建一个将使用 RESTful Web 服务的 Android 应用程序。我不想自己编写 REST 客户端,因为我希望它尽可能有效和稳定(这是我第一次使用 REST)。

是否有任何(免费)适用于 Android/Java 的框架或实用程序可供我在我的项目中使用?

【问题讨论】:

标签: java android json rest


【解决方案1】:

Restlet 是一个优秀的 REST 框架,并且有一个 Android 版本。

【讨论】:

【解决方案2】:

任何 HTTP 客户端库都应该完全足以与 Web API 进行 RESTful 交互。例如。 http://developer.android.com/reference/org/apache/http/client/HttpClient.html

【讨论】:

  • 对于反对者,请随意解释为什么 HTTPClient 不足以与核心约束符合 RFC2616 定义的“统一接口”的 RESTful 系统交互。
  • 我不是投反对票的人,但我想这可能是因为 HttpClient 只解决了部分问题,然后你就完成了所有 XML 处理工作。也许 HttpClient + SAX,或者 HttpClient 和 XmlPullParser 会是一个更完整的答案。 YMMV
  • Darrel:我试过 Apache 的 HTTPClient。但正如我所说,我不想自己编写完整的 REST 客户端。
  • mezmo:感谢您的提示,但我正在寻找更完整的东西。我想写这样的代码: Object response = RestClient.get("example.com/api/news"); or Object response = RestClient.delete("example.com/api/news", 20);
  • @Gustav 叹了口气。我猜这crest.codegist.org/android.html 正是您要找的。但请记住,您所做的不会给您带来 REST 的好处。如果你不介意,那很酷。
【解决方案3】:

试试 Spring Android - 有非常方便的类 RestTemplate。

【讨论】:

  • 为我触发了很多 GC_CONCURRENT,它有一些内存问题吗?
【解决方案4】:

我还在为 Android 上的 rest 客户端寻找一个 SMALL 解决方案。经过快速比较,我发现:

  • Resting v0.7:resting-0.7-dev-release-android.jar - 1.3MB(根据一体机 文档)
  • Restlet v2.1.2: org.restlet.jar - 728KB(但添加 httpclient 扩展和 json 扩展后必须 > 1MB)
  • Android 版 Spring v1.0.1:spring-android-core-1.0.1.RELEASE.jar 113KB + spring-android-rest-template-1.0.1.RELEASE.jar 186KB + gson-2.2。 3.jar 194KB = 493KB(不支持auth,否则spring social会成为依赖)

如有遗漏请指正。

【讨论】:

  • 请注意,Restlet 2.2 现在包含一个更轻量级的 Android 内核 (org.restlet.jar),默认重用 HttpURLConnection 类。 Apache HTTP 客户端扩展完全是可选的。
  • Android 版本 2.2.1 中的实际 org.restlet.jar 文件大小仅为 668 Kb。不需要额外的依赖。 maven.restlet.org/org/restlet/android/org.restlet/2.2.1
  • @JeromeLouvel,所以新版restlet内置了httpclient & json支持?
  • 新版本已将 org.restlet.ext.net 扩展合并到 org.restlet 核心中。我们将之前的内部 HTTP 连接器移至 NIO 扩展,显着减小了 org.restlet 核心的大小。对于 JSON,它不在核心中,因为它取决于您需要如何处理它。
  • 在 2.3 版的 Restlet 中,我们还计划为“org.restlet”模块添加一个客户端配置文件,以便节省额外的大小(通过删除所有服务器特定的代码)。
【解决方案5】:

查看 Resting -“使用 REST 服务并将响应转换为对象的轻量级 Java 组件”

http://code.google.com/p/resting/

我自己没用过,但我打算用。

为了配合它,我正在搜索示例源代码以实施此 google IO 会话中描述的最佳实践。 http://www.youtube.com/watch?v=xHXn3Kg2IQE

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2018-04-14
  • 1970-01-01
  • 1970-01-01
  • 2014-01-10
  • 2012-08-05
  • 1970-01-01
  • 2012-11-01
  • 1970-01-01
相关资源
最近更新 更多