对不起,如果这是一个简单的问题,但我只是不知道我应该做什么,我认为我在这里有点超出我的深度。我想将数据从 Android 应用程序发送到我在 Google App Engine 上运行的应用程序。必须从那里将数据写入数据存储区。我的数据主要是对象的形式,我正在使用 Java。
我遇到了以下问题:how-can-i-connect-a-google-app-engine-application-with-my-android
我想我明白 Android 端会发生什么。我也了解 doPost 方法的工作原理以及它应该做什么。但我的问题是,我现在如何使用 PersistenceManagerFactory 将此数据写入我的数据存储区,或检索它?即,如果我想在那里使用 PersistenceManagerFactory,doPost 中的代码会怎样?
本质上,我的移动应用程序必须能够像我的 AppEngine 应用程序那样进行数据检索/写入。
还是我应该忘记这种方法并做一些不同的事情?
任何指向正确方向的指针将不胜感激!
编辑:
我已经开始实施 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 的代码,只更改了必要的内容,例如“News”。