GAE Endpoint、Objectify 和 Android - 我的数据保存在哪里?
GAE Endpoint, Objectify and Android - Where are my data being saved?
我正在 Android 上开发一个应用程序,我正试图在 Google 云数据存储上保存一些数据。我已经实施了一个 Google App Engine 端点并在其上设置了 Objectify,然后我已经部署到 App Engine。
最后,我在我的 android 项目中编写了一些 AsyncTask 来与 API.
进行通信
通信正常,我的日志中没有显示错误消息,但是当我这样做时(在 App Engine 端点中)
Car car = new Car("black","1200","2016");
ofy().save().entity(car).now();
它已正确执行,但随后我转到我的数据存储控制台,但其中没有任何实体。
相同,如果我这样做
List<Car> cars = ofy().load().type(Car.class).list();
我总是得到一个空结果。
那么我的数据保存在哪里?
更新
之前我在端点 Api class (MyEndpoint.java
) 中编写了 Objectify 代码,现在我试图只依赖 Android 端点自动-代,所以我创建了一个新模型 (@Entity
) 并使用 [=71] 中内置的“从 java class 生成云端点” =] 工作室,所以现在我有一个新的 CarEndpoint
。它包含 insert
和 list
api 方法(以及更多)。
因此,根据应用程序代码,在 AsyncTask 中,我正在执行以下操作:
Car car = new Car();
car.setYear("2016");
car.setCC("1200");
car.setColor("black");
try {
carApi.insert(car).execute();
} catch (IOException e) {
e.printStackTrace();
}
它被执行并且没有抛出错误。这是日志:
I/System.out: open:https://app-backend.appspot.com/_ah/api/carApi/v1/car
I/System.out: [CDS]rx timeout:1
I/System.out: [CDS]rx timeout:1
I/System.out: [CDS]rx timeout:20000
I/System.out: [CDS]rx timeout:20000
I/System.out: [CDS]rx timeout:20000
I/System.out: [CDS]rx timeout:20000
I/System.out: [OkHttp] sendRequest<<
但同样,在我的数据存储控制台中,没有创建新对象。
那么,我的对象保存在哪里?
更新 2
我仍然没有找到保存数据的位置,但在更新后,我现在可以使用 list
API 方法(自动生成)检索数据。
要从后端轻松使用 API 方法,您可以使用 APIs Explorer 。您可以使用浏览器访问地址
https://app-backend.appspot.com/
然后单击 "GC Endpoint API Explorer" 菜单项上的顶部菜单。
数据似乎存储在 API 内部。我可以使用 Google 数据存储控制台查看它们吗?
是的,您应该能够通过云控制台查看您的实体:通过控制台菜单(单击左上角的汉堡包)选择 "STORAGE" 组下的 "Datastore" 和第一个此数据存储 "area" 的页面名为 "Entities"。从那里您可以按种类或 GQL 进行查询。
另外,你可以看看https://cloud.google.com/appengine/docs/java/console/managing-datastore
我正在 Android 上开发一个应用程序,我正试图在 Google 云数据存储上保存一些数据。我已经实施了一个 Google App Engine 端点并在其上设置了 Objectify,然后我已经部署到 App Engine。
最后,我在我的 android 项目中编写了一些 AsyncTask 来与 API.
进行通信通信正常,我的日志中没有显示错误消息,但是当我这样做时(在 App Engine 端点中)
Car car = new Car("black","1200","2016");
ofy().save().entity(car).now();
它已正确执行,但随后我转到我的数据存储控制台,但其中没有任何实体。
相同,如果我这样做
List<Car> cars = ofy().load().type(Car.class).list();
我总是得到一个空结果。
那么我的数据保存在哪里?
更新
之前我在端点 Api class (MyEndpoint.java
) 中编写了 Objectify 代码,现在我试图只依赖 Android 端点自动-代,所以我创建了一个新模型 (@Entity
) 并使用 [=71] 中内置的“从 java class 生成云端点” =] 工作室,所以现在我有一个新的 CarEndpoint
。它包含 insert
和 list
api 方法(以及更多)。
因此,根据应用程序代码,在 AsyncTask 中,我正在执行以下操作:
Car car = new Car();
car.setYear("2016");
car.setCC("1200");
car.setColor("black");
try {
carApi.insert(car).execute();
} catch (IOException e) {
e.printStackTrace();
}
它被执行并且没有抛出错误。这是日志:
I/System.out: open:https://app-backend.appspot.com/_ah/api/carApi/v1/car
I/System.out: [CDS]rx timeout:1
I/System.out: [CDS]rx timeout:1
I/System.out: [CDS]rx timeout:20000
I/System.out: [CDS]rx timeout:20000
I/System.out: [CDS]rx timeout:20000
I/System.out: [CDS]rx timeout:20000
I/System.out: [OkHttp] sendRequest<<
但同样,在我的数据存储控制台中,没有创建新对象。
那么,我的对象保存在哪里?
更新 2
我仍然没有找到保存数据的位置,但在更新后,我现在可以使用 list
API 方法(自动生成)检索数据。
要从后端轻松使用 API 方法,您可以使用 APIs Explorer 。您可以使用浏览器访问地址
https://app-backend.appspot.com/
然后单击 "GC Endpoint API Explorer" 菜单项上的顶部菜单。
数据似乎存储在 API 内部。我可以使用 Google 数据存储控制台查看它们吗?
是的,您应该能够通过云控制台查看您的实体:通过控制台菜单(单击左上角的汉堡包)选择 "STORAGE" 组下的 "Datastore" 和第一个此数据存储 "area" 的页面名为 "Entities"。从那里您可以按种类或 GQL 进行查询。
另外,你可以看看https://cloud.google.com/appengine/docs/java/console/managing-datastore