我有一组目前正在 Android 上运行的计算。我想将这些计算从 Android 转移到云(可能是谷歌 c2dm 架构或任何其他免费服务),但我对如何使用 c2dm 没有足够的知识。我将向云端发送一个字符串列表,在云端进行大量计算,然后将重新排列的字符串列表返回给 android。
谁能帮我解决这个问题(关于如何将云与安卓应用程序连接)?
谢谢安克斯
我有一组目前正在 Android 上运行的计算。我想将这些计算从 Android 转移到云(可能是谷歌 c2dm 架构或任何其他免费服务),但我对如何使用 c2dm 没有足够的知识。我将向云端发送一个字符串列表,在云端进行大量计算,然后将重新排列的字符串列表返回给 android。
谁能帮我解决这个问题(关于如何将云与安卓应用程序连接)?
谢谢安克斯
我不确定您所说的“谷歌云”是什么意思。
实现此目的的一种方法是使用Google App Engine。它允许您在 Google 的基础架构上运行用 Java/Python 开发的服务器应用程序。
这意味着您可以自己开发服务器端,从而实现您喜欢与客户端通信的任何协议,即创建您自己的 Web 服务。
正如 Mighter 提到的,您可以执行原始 HTTP 请求。但是,有许多现有的远程过程调用协议:SOAP、XML-RPC 等。
我个人倾向于喜欢基于 JSON 的协议。为这种类型的协议创建自己的实现很容易,但您可能会对这个Android 的 JSON-RPC 库感兴趣,例如。
还要检查另一个问题:How to call a SOAP web service on Android
一旦准备好 Web 服务,无论使用 SOAP、JSON-RPC 还是其他方式,您都应该能够创建客户端,并通过 Java 类公开远程服务调用。如果设计得当,它可能 1. 感觉就像您在本地对象上调用方法,以及 2. 允许您在网络不可用的情况下与本地实现进行交换。
我认为这取决于您的计算量有多大,或者您需要多少计算能力。您可以尝试编写一个简单的应用引擎服务器来处理发布请求并返回 JSON 格式的答案。如果您的计算很复杂,我会使用谷歌计算引擎并安装我的自定义堆栈。
在这两种情况下,您都需要编写服务器端来处理您的数据。如果你使用谷歌应用引擎,你可以用 java、python、php 或 go 编写它。如果您使用计算引擎,您基本上可以用任何可以在 linux 上运行的语言编写它。
希望它有所帮助!
您可以使用 HTTP POST-GET 请求与服务器通信,发送和接收 JSON/xml 数据。
编辑这几乎足以在您的应用程序中利用客户端-服务器通信。
http://developer.android.com/reference/java/net/HttpURLConnection.html http://www.ibm.com/developerworks/opensource/library/x-android/ http://www.ibm.com/developerworks /xml/库/x-andbene1/