1

生成雲端點客戶端庫Android Studio中,同時遵循這裏列出的步驟:使用實體類設計模式

https://cloud.google.com/developers/articles/how-to-build-mobile-app-with-app-engine-backend-tutorial/

創建一個雲終端,但使用過Android Studio,而不是Eclipse的,我被困在如這裏所描述的實體類設計模式的第9步:

https://cloud.google.com/developers/articles/how-to-build-mobile-app-with-app-engine-backend-tutorial/#ecdp

在Eclipse中,有一個右鍵菜單選項「生成雲客戶終端的lib rary「,當你右鍵點擊應用程序引擎項目。然而,在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

但這些都是更加耗時比中描述的單步過程日食的原始鏈接。

回答

2

我們正在努力更新購物卡丁車示例以使用Android Studio。

同時在AS產生終點的文檔都可以在這裏https://cloud.google.com/tools/android-studio/

發現沒有了「生成雲客戶終端庫」的任務,因爲它不是在Android Studio工作流程需要。簡單地構建項目將確保客戶端庫可用於您的Android應用程序。

如果希望能夠使用Gradle從命令行手動執行某些端點客戶端庫步驟,請查閱appengine gradle插件https://github.com/GoogleCloudPlatform/gradle-appengine-plugin的文檔。

+0

你好,當你說「在此期間在AS產生終點的文檔可以在這裏找到https://cloud.google.com/mobile/「,你能確認你指的是頁面右下角的codelab鏈接嗎?或者你的意思是另一個鏈接,在這個相當普通和複雜的頁面上?在此先感謝 – 2015-10-14 18:39:56

+0

其實鏈接內容已更改。我已更新我的回覆中的鏈接。感謝您讓我知道。 – 2015-11-04 20:54:44

3

如上所述,庫是自動編譯爲您,另一點要注意,讓我困惑的是從哪裏獲得Builder。

從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); 
       } 
      }); 
1

正如呂西安·默裏 - 皮茨解釋說,該生成器是不是在端點類,但在自動生成的XXXXApi類。

想象一下你的java bean是包下com.example.backend稱爲投資組合類

您必須添加以下導入在的AsyncTask類:

進口com.example.backend.portfolioApi.PortfolioApi ;

,然後你可以做

PortfolioApi.Builder建設者=新PortfolioApi.Builder(....