按照此处列出的步骤进行操作:
为了创建云端点,但使用 Android Studio 而不是 Eclipse,我陷入了实体类设计模式的第 9 步,如下所述:
在 Eclipse 中,右键单击应用程序引擎项目时,有一个“生成 Cloud Endpoint 客户端库”的右键菜单选项。但是,Android Studio (v1.0.0) 中没有等效选项
这是 Google 的疏忽还是我遗漏了什么?
从 Android Studio 中生成云端点客户端库的最佳解决方法是什么。
有没有办法从命令行执行此操作?
我确实在这里找到了 gradle 的步骤:
https://cloud.google.com/appengine/docs/java/endpoints/endpoints_tool
这里:
https://cloud.google.com/appengine/docs/java/endpoints/consume_android
但是这些比 Eclipse 的原始链接中描述的单步过程要耗时得多。
如上所述,库是为您自动编译的,另一点让我困惑的是从哪里获取构建器。
现在,从 Android Studio 1.0.1 开始,原始 Eclipse 指令对此也有点过时了,“Builder”不再隐藏在您创建的 Endpoint 类中。相反,它被整合到一个单独的 API 类中来描述 Builder 和相关代码。
请参阅:https://github.com/GoogleCloudPlatform/gradle-appengine-templates/tree/master/HelloEndpoints
Android 的端点使用情况现在如下所示:
/* OLD
MyEndpoint.Builder builder = ... */
MyApi.Builder builder = new MyApi.Builder(AndroidHttp.newCompatibleTransport(),
new AndroidJsonFactory(), null)
// options for running against local devappserver
// - 10.0.2.2 is localhost's IP address in Android emulator
// - turn off compression when running against local devappserver
.setRootUrl("http://10.0.2.2:8080/_ah/api/")
.setGoogleClientRequestInitializer(new GoogleClientRequestInitializer() {
@Override
public void initialize(AbstractGoogleClientRequest<?> abstractGoogleClientRequest) throws IOException {
abstractGoogleClientRequest.setDisableGZipContent(true);
}
});
我们正在努力更新购物卡丁车示例以使用 Android Studio。
同时,可以在此处找到在 AS 中生成端点的文档 https://cloud.google.com/tools/android-studio/
不再有“生成 Cloud Endpoint 客户端库”任务,因为 Android Studio 工作流程中不需要它。只需构建项目即可确保客户端库可供您的 Android 应用程序使用。
如果您希望能够使用 Gradle 从命令行手动执行一些端点客户端库步骤,请查看 appengine gradle 插件的文档 https://github.com/GoogleCloudPlatform/gradle-appengine-plugin。
正如 Lucien Murray-Pitts 所解释的,Builder 不在 Endpoint 类中,而是在自动生成的 XXXXApi 类中。
假设您的 java bean 是 com.example.backend 包下的一个名为 Portfolio 的类
您必须在 AsyncTask 类中添加以下导入:
导入com.example.backend.portfolioApi.PortfolioApi;
然后你就可以做
PortfolioApi.Builder 构建器 = new PortfolioApi.Builder(....