2

我正在創建一個Android應用並試圖通過Google API客戶端使用Google Places API。我一直在關注這個示例: http://ddewaele.blogspot.com/2011/05/introducing-google-places-api.html爲Android HTTP請求創建Google HTTP傳輸對象

我在創建HTTP傳輸對象以創建HTTP請求工廠時遇到問題。一切都在eclipse編譯罰款,但是當我調試我的手機上運行時,我得到一個ClassNotFound的第一行上的位置:

HttpTransport transport = new ApacheHttpTransport(); 
HttpRequestFactory httpRequestFactory = createRequestFactory(transport); 
 
public static HttpRequestFactory createRequestFactory(HttpTransport transport) { 
    return transport.createRequestFactory(new HttpRequestInitializer() { 
     @Override 
     public void initialize(HttpRequest request) throws IOException { 
      request.headers.authorization = "..."; 
     } 
    }); 
} 

根據JavaDoc中的HTTP傳輸類:

安卓:

  • 與SDK 2.3開始,強烈推薦使用 com.google.api.client.javanet.NetHttpTransport。他們的Apache HTTP客戶端 實施得不好。
  • 對於SDK 2.2及更早版本,請使用com.google.api.client.apache.ApacheHttpTransport。 com.google.api.client.javanet.NetHttpTransport 不推薦,因爲 的Android SDK執行 HttpURLConnection中的一些錯誤。

我在2.2上運行,所以我嘗試使用ApacheHTTPTransport。我也嘗試了NetHTTPTransport,但我得到了同樣的東西(classnotfound)。

任何想法/示例?

謝謝!

+0

使用ApacheHTTPTransport是可以的。你能發佈你看到的堆棧跟蹤嗎? – ddewaele 2011-06-03 07:01:15

+1

如果您正在構建需要與所有Android SDK配合使用的Android應用程序,只需調用AndroidHttp.newCompatibleTransport(),它將根據Android SDK級別決定使用這兩個應用程序。 – 2011-09-15 09:59:38

回答

2

爲了運行在使用谷歌API客戶端在Android環境的地方API,你需要具備以下依賴Android專案:

  • M2_REPO /公地編解碼器/公地編解碼器/1.3/commons-codec-1.3.jar
  • M2_REPO /共享記錄/共享記錄/ 1.1.1 /共享記錄-1.1.1.jar
  • M2_REPO/COM /谷歌/ API /客戶端/谷歌-api-client/1.4.1-beta/google-api-client-1.4.1-beta.jar
  • M2_REPO/com/google/api/client/google-api-client-googleap is/1.4.1-beta/google-api-client-googleapis-1.4.1-beta.jar
  • M2_REPO/com/google/code/gson/gson/1.6/gson-1.6.jar
  • M2_REPO/COM /谷歌/番石榴/芭樂/ R08 /番石榴r08.jar
  • M2_REPO /組織/阿帕奇/ httpcomponents/HttpClient的/ 4.0.3/HttpClient的-4.0.3.jar
  • M2_REPO /組織/阿帕奇/ httpcomponents/httpcore/4.0.1/httpcore-4.0.1.jar
  • M2_REPO/org/codehaus/jackson/jackson-core-asl/1.6.5/jackson-core-asl-1.6.5.jar
  • M2_REPO/com/google/code/findbugs/jsr305/1.3.9/jsr305-1.3.9.jar