【问题标题】:How can i connect a google app-engine application with my android?如何将 google app-engine 应用程序与我的 android 连接?
【发布时间】:2011-08-21 13:16:37
【问题描述】:

我在 google app-engine 上部署了一个应用程序。它有一个注册表单。 现在我已经在我的 android 应用程序中创建了一个注册表单,我希望在点击提交时...它应该发送到 google app-engine 上的应用程序,并且它应该保存在特定的数据库中...

有人告诉我使用 http 请求和响应方法,但我不知道那件事.. 有人可以给我一些示例代码之类的吗.....

谢谢……

【问题讨论】:

  • 这与您的other question 非常相似。请不要重复问题,您可以编辑旧问题并随着问题的发展重新标记它们。

标签: android google-app-engine


【解决方案1】:

您尚未指定您使用的是 Python 还是 Java。

您必须决定如何连接。在最简单的级别上,您可以将数据发布到 Google App Engine。在 Java 中,您将编写一个处理此问题的 servlet。见Java EE tutorial。或者,您可以在处理从您的应用程序发送的数据的服务器上编写一个 Web 服务(SOAP、RESTful)。再次谷歌这个,有无数的例子。

假设我们走的是最简单的 POST 路线。所以在你的 servlet(在 GAE 上运行)你会有这样的东西:

public void doPost(HttpServletRequest request, 
        HttpServletResponse response) throws ServletException, IOException {

      String value1 = request.getParameter("value1");
}

在你的 android 应用中你会做这样的事情:

DefaultHttpClient hc=new DefaultHttpClient();
ResponseHandler <String> res=new BasicResponseHandler();
HttpPost postMethod=new HttpPost("http://mywebsite.com/mappedurl");
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();  
nameValuePairs.add(new BasicNameValuePair("value1", "Value my user entered"));  
postMethod.setEntity(new UrlEncodedFormEntity(nameValuePairs));  
String response=hc.execute(postMethod,res);

当然,servlet 中的 value1 会设置为“我的用户输入的值”。

编辑:Google 现在已经发布了他们的Google Cloud Endpoints - 这使得在 App Engine 上构建 RESTful 服务和为 Android 创建客户端变得更加容易。它确实将您与 App Engine 联系得更紧密 - 但当然值得考虑。

【讨论】:

  • 我不会写完整的东西,因为你需要环顾四周。不过,我现在已经为 Servlet 和 Android 应用程序添加了基本代码。请查看 Servlet 教程以获取有关如何配置 servlet 的更多信息,例如将 servlet 映射到 url。
  • 如果我的 GAE 上有一个 jsp 页面..那么?
  • 好吧,JSP 变成了一个 servlet,所以是的,您可以将代码作为 scriptlet 放在那里(这不是一种好的做事方式)......但是如果您这样做,JSP 可以处理 POST '追求快速而肮脏的东西。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-21
  • 2018-07-31
  • 1970-01-01
相关资源
最近更新 更多