谷歌应用引擎可作为Android应用的后端数据库吗?

8

我想为Android编写一个客户端应用程序,使用Google App Engine作为数据库后端。我的Android客户端将连接到App Engine以保存信息,然后稍后连接以获取报告。像这样使用App Engine作为后端是否可行?

5个回答

8
如果你在寻找类似于App Engine中Python的远程API的东西,那么你会失望地发现Java中没有它。不过,你完全可以通过POST / JSON / XML / 任何其他格式向你的应用发送数据。同样的方法也适用于获取报告。
如果安全性是一个问题,OAuth协议允许你从Android设备对App Engine进行身份验证。
顺便提一下,就报告而言,你可能会发现App Engine不是一个非常适合报告类型应用的平台。只要确保你理解其限制——缺乏连接、1000个对象限制、无求和/平均值、必要索引等等。当然这并非不可能,但请仔细考虑如何建模你的数据。

5
是的,这是可能的。
由于你的问题中没有更多的细节,所以回答中的任何更多细节都将成为猜测。

1
怎么做?我已经查看了所有文档,但似乎找不到Java的API,可以让客户端应用程序直接连接到GAE数据库。你能给我指一条链接来解释这个API吗? - Doughy
5
没有API可用,你需要手动进行HTTP POST和GET来传递数据。我正在使用一款应用程序进行这样的操作,并且它能够正常运行,但这比仅连接到API要更费些功夫。 - Richard Watson

3
是的,这是完全可能的。这也是我目前正在做的事情。
我的代码使用HTTP GET和HTTP POST,并在GAE上使用RESTful服务。
非常抱歉,我无法提供任何代码,因为我仍在学习,但我正在使用的库名为RESTLET。他们有适用于GAE和Android的库,但我只在GAE上使用RESTLET,并且只是在Android SDK中使用HTTP库作为客户端。 http://www.restlet.org/ 你需要的版本是2.0 M6而不是稳定版本。

2

编号

在你回复劳伦斯时,你说你想要一个直接的数据库连接。客户端无法直接连接到GAE数据存储。您必须编写Web处理程序来在客户端和您的数据之间进行接口。它不需要太多,但一定要有。


1

是的,这很有可能。不过,您不能直接连接到GAE数据库。更好的架构是让您的应用程序访问写入数据库的URL。例如,您可以设置一个Struts 2操作,该操作使用查询参数的值,并在持久化之前进行必要的变异和验证。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接