Java 使用Google App engine生成实体列表,希望在Android客户端访问该列表

Java 使用Google App engine生成实体列表,希望在Android客户端访问该列表,java,android,google-app-engine,Java,Android,Google App Engine,我正在从我的应用程序在谷歌应用程序引擎上的数据存储中生成一个实体列表,我正在尝试将该列表传递给Android客户端 我的GAE servlet中有以下内容来生成列表: <code> DatastoreService datastore = DatastoreServiceFactory.getDatastoreService(); Query query = new Query("ClimbingArea"); List<Entity> result = datastor

我正在从我的应用程序在谷歌应用程序引擎上的数据存储中生成一个实体列表,我正在尝试将该列表传递给Android客户端

我的GAE servlet中有以下内容来生成列表:

<code>
DatastoreService datastore = DatastoreServiceFactory.getDatastoreService();
Query query = new Query("ClimbingArea");
List<Entity> result = datastore.prepare(query).asList(FetchOptions.Builder.withDefaults());
</code>

DatastoreService datastore=DatastoreServiceFactory.getDatastoreService();
查询=新查询(“攀登区”);
列表结果=datastore.prepare(query).asList(FetchOptions.Builder.withDefaults());

我需要如何在我的android应用程序中实现一些东西来检索此列表?

您需要序列化您的实体,并让您的android客户端反序列化它们。您可以使用任何想要的格式,但JSON、XML和ProtBuff是最流行的格式。对于JSON,对于单个实体,您可能会遇到类似的情况。对于列表,可以使用JSONArray并将实体添加到数组中:

JSONObject jsonObj = new JSONObject();
jsonObj.put("field1", climbingArea.getField1());
jsonObj.put("field2", climbingArea.getField2());

resp.setCharacterEncoding("UTF-8");
resp.setContentType("application/x-javascript");

PrintWriter out = resp.getWriter();
out.write(jsonObj.toString());
out.flush();
out.close();