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)。
任何想法/示例?
謝謝!
使用ApacheHTTPTransport是可以的。你能發佈你看到的堆棧跟蹤嗎? – ddewaele 2011-06-03 07:01:15
如果您正在構建需要與所有Android SDK配合使用的Android應用程序,只需調用AndroidHttp.newCompatibleTransport(),它將根據Android SDK級別決定使用這兩個應用程序。 – 2011-09-15 09:59:38