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