in: Android Studio 0.4
do: New Project, Generate AppEngine
result:
AppEngine树中的DeviceInfo和DeviceInfoEndpoint类
和
在端点树中还有类Deviceinfoendpoint(差异拼写)和model / DeviceInfo(相同的拼写)
这是我最好的猜测:
AppEngine / DeviceInfo是一个带有get / set的Java Bean和一些私有属性(RegID,info strings)
AppEngine / DeviceInfoEndpoint正在描述将成为引擎上的API的方法。提供getDeviceInfo,insertDeviceInfo,removeDeviceInfo等方法,并管理持久化DeviceInfo实体的集合
Endpoints / model / DeviceInfo扩展了com.google.api.client.json.GenericJson 并实现看起来像,但与AppEngine / DeviceInfo(deviceInformation,deviceRegID,get / set方法的属性)不同 - 如果已经编写了Bean,为什么这是必要的?
端点/ Deviceinfoendpoint(拼写略有不同,不同的上限) 扩展了com.google.api.client.googleapis.services.json.AbstractGoogleJsonClient 并且有很多方法。
这些部分的责任是什么?什么是App-engine模块中的端点类与端点模块中的端点类之间的区别?
一段有用的视频(第38分钟左右的相关资料) http://www.youtube.com/watch?v=lmv1dTnhLH4&feature=youtu.be&t=37m4s 虽然从那以后行为发生了变化。
一个重要的类“Builder”仅在Endpoints / Deviceinfoendpoint中可用,因此这似乎是相关的。
在Android网页上也没有找到这些结果的说明,如果你知道一个有用的网址,我会读它。
答案 0 :(得分:0)
在AppEngine树中 DeviceInfo是持久性对象,此JPA对象保存到App Engine数据存储区。它也是服务器端序列化中使用的对象。
就像你说的,DeviceInfoEndpoint是端点类,它定义了可用于与服务器交互的方法。所有注释都有助于定义端点的暴露方式。 (客户端Deviceinfoendpoint的拼写/大小写在这里使用@Api注释定义。)
客户端上的大多数代码(所有客户端库代码)都是由端点服务生成的,该服务采用服务器端定义的内容并提供与端点交互的对象模型。它可能看起来像是重复,因为服务正在复制服务器端的对象模型,而不会实际暴露服务器端正在发生的任何事情,只是客户需要知道的事情。
Builder只是一个服务对象,它封装了与appengine服务器交互所需的一切。它有助于以有意义的方式向用户公开端点。
以下是Android中端点客户端的一些信息:https://developers.google.com/appengine/docs/java/endpoints/consume_android
以下是一些更通用的端点文档:https://developers.google.com/appengine/docs/java/endpoints/