鉴于此板的许多用户,我想开发一个使用 Google App Engine 作为后端服务器的 Android 应用程序。我需要用户使用他/她的 Google 帐户登录并将图像上传到 GAE 服务器。这是我到目前为止所做的:
首先我找到了this关于 Android、GAE 和 C2DM 消息传递 的网站。我努力按照教程学习开发 android 应用程序以及如何在 GAE 中创建 Java 服务器,但事实证明 C2DM 现在已被弃用!
然后我开始了解具有 OAuth 授权的 Java 后端和一个名为 Cloud Endpoints 的 GAE“实验性”功能,这应该让我在处理 Android 时更轻松+ 谷歌应用引擎。
我的问题是:哪种方法是连接 Android 和 GAE 的最佳方式,具有授权和 blobstore 上传功能?使用 OAuth + Cloud Endpoints、C2DM 消息传递或我没有的任何其他接口(interface)技术没提到?
正如您提到的那样,Google Endpoints 是必经之路 C2DM 已弃用 Cloud Endpoints 使得创建 Android api 以与 Android 客户端通信变得非常容易。您实际上不必对云端点做太多事情,只需按照此 oAuth tutorial 对您的应用程序进行编码即可。
准备好应用程序后,只需注释代码或使用 eclipse 插件自动完成即可。
引自docs开发过程如下:
使用 Endpoints 开发应用的一般工作流程是:
- 首先编写您的 App Engine 后端代码。
- 注释您的 App Engine 后端代码,以便从中生成类和客户端库。 (或者,使用适用于 Eclipse 的 Google 插件,它会自动为您添加注释。)
- 使用 endpoints.sh 实用程序生成客户端库。 (或者,使用 Google Plugin for Eclipse 生成客户端库。)
- 编写您的 Android 客户端应用程序,在通过端点调用 App Engine 后端时使用客户端库。
这是一个 working java example在 github 上。
另请记住,Endpoints 是一项实验性功能,这意味着它处于最前沿,因此在构建应用时请牢记这一点。
希望这对您有所帮助,祝您好运!