- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
如果这是一个简单的问题,我很抱歉,但我只是想不出我应该做什么,我觉得我有点超出了我的理解范围。我想将数据从 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/
我正在尝试用我以前的类(class)笔记填充数据存储,以便将来我可以添加评论板或留言簿等笔记。 我似乎无法在数据存储中获取以前的注释,并且一直在翻阅 GAE 文档并在网上搜索无济于事。 这是我的代码:
我得到以下异常: Exception in thread "main" com.google.cloud.datastore.DatastoreException: no matching index
我们有一个在美国和欧盟托管的应用。为了获得出色的性能,我们将在两个位置托管一个数据存储实例。 现在的问题是如何将数据从美国数据存储复制到欧盟数据存储? 或者从技术角度来看,我们将数据存储在哪里并不重要
当我调用 datastore.save 方法时,我偶尔会遇到以下错误: 错误:在/user_code/node_modules/@google-cloud/datastore/node_modules
我正在使用适用于 Datastore (google-cloud-datastore) 版本 1.4.0 的 Python 客户端 SDK。我正在尝试运行仅键查询获取: query = client.
我正在试验 Google App Engine's flexible Python 3 environment and Cloud Datastore .在本地测试时,这(通常)要求在类似 Gunic
Google Cloud Datastore 是否支持计数器等原子操作?我在文档中没有看到任何相关内容,我注意到更新基本上是获取整个对象,更新一个字段,然后将整个对象发送回去,这似乎会使原子操作变得不
我的数据存储实体将具有 embedded entity type 的属性. 在我将它们保存如下后( 我正在使用 gcloud v0.27.0 ): dataset.save([{ key: d
是com.google.cloud.datastore.Datastore线程安全?更具体地说,Datastore 的一个实例可以吗?由多个线程共享,并且它们都可以同时读取/写入云数据存储吗? 换句话
Cloud Dataflow页面暗示这是可能的,但我还没有在 Google Cloud Datastore 文档中找到观察更改事件的方法。它是如何完成的? 最佳答案 据我所知,Cloud Datast
Google Cloud Firestore 将很快取代旧的 Google Cloud Datastore。然后可以选择在“ native 模式”或“数据存储模式”下使用 Cloud Firestor
我是 Datastore 的新手,我正在尝试创建一个简单的应用程序来跟踪图书借阅情况。 我希望数据库架构如下: books: book_id name: borrowing: time
这个问题已经被回答过很多次了,但答案似乎总是在变化。 我正在使用 Java 在 Windows 中工作,并且有一个本地数据存储实例,我希望将其作为生产的副本。 之前有两个答案:- How to cre
如何通过 Google Cloud Datastore 中的 API(Python Protocol Buffer )删除整个祖先树? 例如,如果我将实体存储在此结构中:祖父/父/子,我如何删除祖父,
我想在 Google Cloud Datastore(Datastore 模式下的 Firestore)中保存一部分结构。 以电话簿和联系人为例。 type Contact struct { Ke
我正在尝试看看仅使用 Cloud Functions 与 Datastore 交互是否可行。 有没有一种方法可以仅使用 Cloud Functions 创建复合索引(如 index.yaml)?因此只
我注册了 Firebase 以使用新的 Firestore。 尝试后,我决定,对于我的用例(主要是服务器工具),我不需要 Firestore 的大部分功能,这些功能非常专注于构建用户界面,而且我发现旧
我目前正在使用一台按顺序运行并从命名空间中读取实体的机器执行迁移,这对我来说很痛苦。是否可以使用 Google Cloud Dataflow 更轻松地执行迁移? 最佳答案 您应该能够使用 Datast
我想在 MongoDB 中使用 Grails2.5 中的“ElasticSearch”插件。我的“BuildConfig.groovy”文件是: grails.servlet.version = "3
我想从 Rails 应用程序中使用 Google Cloud Datastore。任何 Ruby 库都可以让这一切变得简单? 最佳答案 您可以使用官方的 Google API Client for R
我是一名优秀的程序员,十分优秀!