将来自 Android 应用程序的数据存储在 App Engine 数据存储区中

Posted

技术标签:

【中文标题】将来自 Android 应用程序的数据存储在 App Engine 数据存储区中【英文标题】:Store data in App Engine datastore from an Android app 【发布时间】:2012-06-04 00:57:08 【问题描述】:

我创建了一个与 AppEngine 连接的 android 应用程序,我正在尝试对其进行修改,以便能够在服务器上存储一些用户数据。我不知道最简单的方法是什么,因为我希望它尽可能简单。我只想为每个用户存储一些基本数据。这些数据是:姓名、电子邮件和其他一些字符串。我在 android 端创建了一个表单,允许用户键入所有请求的数据,但我不知道如何将此信息发送到 GAE 服务器并将其存储在数据存储中。我想我将不得不使用 Servlet 和某种 RPC 服务来调用这些方法。我真的很迷茫,因为这是我第一次这样做。我在 android 和网络应用程序中都没有经验。我希望你能帮助我。

更新

好吧,也许我没有很好地解释自己。我被要求构建的系统包含一个 Web 服务,该服务存储您用于大多数常见网站(facebook、gmail 等)的个人登录凭据。使用 chrome 扩展程序,您向服务器询问您正在导航的网站上的凭据,然后服务器向您的手机请求授权。它会询问(您是否允许我将您的凭据发送给“某个用户”),并且您必须回答是或否,然后服务器将采取行动。关键是您必须以某种方式将您的凭据存储在服务器中,可能来自 android 应用程序(这是我正在尝试的)或来自其他地方。我还需要身份验证。

Pd:我在服务器端使用 java。

【问题讨论】:

【参考方案1】:

由于您已经开始使用 AppEngine connected Android application,因此继续自定义它是有意义的:App Engine Data Access: Adding Entities and RPC。

更新:

当然有很多方法可以在客户端和服务器之间交换数据。最简单的方法是使用一些查询参数处理 GET 和 POST 请求的 servlet。

另外,最近最流行的是 REST:

    Android REST 客户端:http://appfulcrum.com/2010/08/20/android-how-to-call-rest-service-using-asynctask/(尝试使用 GSON 代替解析 JSON)

    服务器:使用 REST 框架。我个人的选择是RESTEasy。一个例子:http://ankiewsky.blogspot.com/2010/08/resteasy-on-googleappengine-corerest.html

更新 2:

最简单的方法 - 制作/处理一个简单的 POST 请求:

    Android 客户端 - 使用参数发出 POST 请求:http://www.androidsnippets.com/executing-a-http-post-request-with-httpclient

    服务器处理 POST(或 GET)并提取参数:http://www.exampledepot.com/egs/javax.servlet/GetReqParam.html

【讨论】:

我会尝试再次关注它,但我过去已经尝试过让它工作,但我没有实现它。有没有其他方法可以将数据从 android 发送到 GAE? 感谢您的关注,但正如我所说,我是个菜鸟,我很难理解您提供的链接中的信息。其余客户端示例包含一些我无法修复的错误...有没有简单的示例。我已经在谷歌上搜索了几个小时,但没有发现任何对我有用的东西。 给你 - 它没有变得更简单。请注意,所有参数都是字符串。如果您使用其他原始类型,则需要相应地转换它们。 我已与我的一位教授交谈,以寻求更多帮助。他告诉我,我也许可以做一些类似 appengine android connected 的事情来发送信息。涉及 Authtoken 和 cookie 的东西。关于如何做到这一点的任何想法?我也一直在检查您提供的所有链接,但我还没有任何工作。我会继续努力的,谢谢。 授权令牌?你从来没有提到你需要身份验证?无论如何,这增加了另一层复杂性。如果我是你,我会从最简单的示例(上面的 Update2)开始,让它工作,然后添加功能。【参考方案2】:

在this page 上查找并彻底关注主题索引。祝你好运

【讨论】:

以上是关于将来自 Android 应用程序的数据存储在 App Engine 数据存储区中的主要内容,如果未能解决你的问题,请参考以下文章

是否可以将文本存储在来自 Google 云中的 android 应用(不属于我)的推送通知中?

在android中看不到来自php的JSON响应

如何将大型 JSON 数据从服务器存储到 SQLITE Android?

关于客户端设计之数据分类和存储 的思考

Android - 来自 AlertDialog 的字符串值在访问时不断重置

将 iPhone 连接到 Android 的 Wifi Direct 软 AP