gpt4 book ai didi

java - 使用 POST 将数据从 Android 发送到 AppEngine Datastore

转载 作者:可可西里 更新时间:2023-11-01 16:34:38 25 4
gpt4 key购买 nike

如果这是一个简单的问题,我很抱歉,但我只是想不出我应该做什么,我觉得我有点超出了我的理解范围。我想将数据从 Android 应用程序发送到我在 Google App Engine 上运行的应用程序。数据必须从那里写入数据存储。我的数据主要以对象的形式存在,并且我使用 Java 工作。

我遇到了以下问题:how-can-i-connect-a-google-app-engine-application-with-my-android

我想我了解 Android 方面必须发生的事情。我还了解 doPost 方法的工作原理以及它应该做什么。但我的问题是,我现在如何使用 PersistenceManagerFactory 将此数据写入我的数据存储区或检索它?也就是说,如果我想在那里使用 PersistenceManagerFactory,doPost 中的代码会是什么样子?

本质上,我的移动应用程序必须能够与我的 AppEngine 应用程序 w.r.t. 做同样的事情。数据检索/写入。

或者我应该忘记这个方法并做一些不同的事情吗?

任何指向正确方向的指针都将不胜感激!

编辑:

我已经开始实现 Sam 的解决方案,如下所示。但是,有些事情仍然不对。这是我目前正在做的事情:

在我的 GAE 应用程序的 web.xml 中映射我的 servlet:

<servlet>
<servlet-name>this_servlet</servlet-name>
<servlet-class>*app-details*.server.JsonNews</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>this_servlet</servlet-name>
<url-pattern>/my_app/my_app_place</url-pattern>
</servlet-mapping>

doPost() 方法的实现与 Sam 的相同。

在我的 Android 应用中:

DefaultHttpClient hc=new DefaultHttpClient();
ResponseHandler <String> res=new BasicResponseHandler();
HttpPost postMethod=new HttpPost("http://my_application.appspot.com/my_app/my_app_place");
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);

但是,hc.execute 方法失败,并向我提供以下消息:内部服务器错误

这让我相信错误一定是在服务器端 - 但我不确定哪里出错或为什么出错。我完全复制了 Sam 的代码,只更改了必要的内容,例如“新闻”。

最佳答案

你应该使用 RequestFactorys 来解决这个问题。

https://developers.google.com/web-toolkit/doc/latest/DevGuideRequestFactory

借助 RequestFactory,您可以在客户端(andorid 或 gwt-client)上使用代理对象并将其发送回服务器。

检查这个例子: http://code.google.com/p/cloud-tasks-io/source/browse/trunk/CloudTasks-AppEngine/

这是一个通过 RequestFactory 在 C2dm(推送服务)上注册的 Andorid 应用

关于java - 使用 POST 将数据从 Android 发送到 AppEngine Datastore,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10480136/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com