为 Web 和 Android 服务的 AppEngine GWT-RPC 服务

Posted

技术标签:

【中文标题】为 Web 和 Android 服务的 AppEngine GWT-RPC 服务【英文标题】:AppEngine GWT-RPC service serving for Web as well as Android 【发布时间】:2010-11-02 21:53:48 【问题描述】:

伙计们,

我有支持 GWT Web 客户端的 GWT-RPC 服务(在 Appengine 上)。一切都很好。

现在,当我为此开发 android 客户端时,我是否需要一个精简的 Servlet 来为该客户端提供服务?这意味着,现在我需要使用 Android 打包的 HttpClient 将 XML 发送到一个新的 Servlet(它可能在 AppEngine 中重用 GWT-RPC 服务),而不是来回发送序列化 Java 对象(如在 GWT 中)。

我在这里步入正轨吗? Android 是否允许直接使用 GWT-RPC 服务后端?

我试图从代码的角度简洁..

【问题讨论】:

【参考方案1】:

GWT-RPC 是一种不透明的非标准协议,仅设计用于 GWT 应用程序。 AFAIK 没有任何其他环境(例如 Android)或语言(例如 Python、php)中的 GWT-RPC 通信机制。

因此,GWT-RPC 作为可重用的多平台 RPC 机制并不是最优的。

为了与 Android 客户端进行通信,我建议使用Protocol Buffers,它的设计目的是紧凑且多平台。遗憾的是,目前不支持向 GWT 客户端发送 PB。

您还可以使用常规 JSON,在 REST 或 RPC 风格中,可以由 GWT 或 Android 客户端使用,并且相当紧凑,至少与 XML 相比。

【讨论】:

以上是关于为 Web 和 Android 服务的 AppEngine GWT-RPC 服务的主要内容,如果未能解决你的问题,请参考以下文章

无法从 android 项目模拟器调用 Web 服务方法

为 RESTful Web 服务设置 MySQL 和 Apache

如何在 Android 中保护调用 web 服务

如何在 android 中使用改造来解析这个 web 服务?

Android 和 SAP SOAP Web 服务之间的连接建立

从 Android 访问可通过 Web 上的 *** 访问的 Web 服务