0

2 个月前,我开始开发一个需要调用远程方法并从服务器接收复杂对象(其中包含自定义字段的自定义对象)的 android 应用程序。我和我的朋友分工,所以他在 android 客户端上工作,而我在服务器上工作。在开始之前,我们构建了基础接口,提供客户端从服务器需要的功能,所以我的朋友可以轻松地编写应用程序(通过使用假类作为接口的实现),在我完成接口的实现之后在服务器端,他将建立连接并从服务器而不是假类调用函数。

现在的问题是我们找不到将这些接口从服务器传递到客户端的方法。我们尝试使用 java RMI,但失败了,因为 android 不支持 java RMI,然后我们尝试使用 JAX-WS(带有 tomcat 7),我们也失败了,因为 JAXB 无法处理接口。(-您可以在此处查看有关 jaxb 问题的更多详细信息-

我和我的朋友真的很迷茫..我们不知道如何在服务器和安卓客户端之间传递这些接口。有可能我们正在尝试做的事情吗?如果没有,还有哪些其他选项可供我们调用远程方法并从服务器接收复杂对象?

谢谢!

4

3 回答 3

0

不确定现在是否为时已晚(经过 2 个月的开发),但有些框架应该让 RPC 对您更容易(注意连接两端)。我知道的两个是 Apache Thrift(绝对可以与 Android 一起使用 - 有使用它的应用程序)或 Apache Etch(可能)。

阿帕奇节俭: http ://thrift.apache.org/

阿帕奇蚀刻:http: //incubator.apache.org/etch/

关于 Evernote 选择 Thrift 的博客: http ://blog.evernote.com/tech/2011/05/26/evernote-and-thrift/

于 2013-01-04T00:03:21.760 回答
0

您可以在服务器上公开 Web 服务,以便客户端可以在需要时与服务器交互,这可能是最快的解决方案。

或者您可以编写一种 servlet 编程来从客户端获取 json 请求,对其进行处理并将 json 响应发送回客户端。如果应用程序是数据密集型应用程序,那么 JSON 对您有很大帮助

于 2013-01-03T22:36:56.490 回答
0

如果您的应用程序仅限于服务器上的 Java 和 Android(没有其他客户端,例如 IOS)之间的通信,那么与基于 IDL 的解决方案相比,更简单的 RPC 路径是使用jsonrpc。此解决方案同时提供服务器和 Android 客户端组件。在客户端和服务器上都非常容易实现。一个限制是必须对字节数组进行编码,因为 JSON 传输不支持二进制。

于 2013-04-19T02:31:01.303 回答