Android上缺少HttpClientBuilder?

时间:2015-01-02 04:02:21

标签: java android apache-httpclient-4.x androidhttpclient

Apache已弃用DefaultHttpClient,但似乎Android并非如此,请参阅此处Deprecated Java HttpClient - How hard can it be?

导入

org.apache.httpcomponents:httpclient:4.3.5

而不是

new DefaultHttpClient(); 

我现在用

HttpClient httpClient = HttpClientBuilder.create().build();

创建一个http客户端。这在Java项目中工作正常,但在Android项目中使用时,缺少以下导入

import org.apache.http.impl.client.HttpClientBuilder;

,而

HttpClient sendClient =  new DefaultHttpClient();

在Android中未被标记为已弃用并且编译得很好。

我不想再次添加Apache httpclient(如果我这样做,Android Studio无论如何都会将其排除在外)。

Android文档在此处http://developer.android.com/reference/android/net/http/AndroidHttpClient.html#newInstance(java.lang.String)使用

AndroidHttpClient.new Instance(string)

以“获得具有合理默认值的http客户端”。

有人知道在Android上创建HttpClient的正确方法是什么,以及userAgent字符串是什么!?

2 个答案:

答案 0 :(得分:6)

谷歌Android附带了一个非常过时的(BETA之前)版本的Apache HttpClient 4.0。

如果您想在Android上使用较新的Apache HttpClient API,您应该考虑使用official Android port

答案 1 :(得分:3)

您需要在应用Gradle中添加此行

compile group: 'org.apache.httpcomponents' , name: 'httpclient-android' , version: '4.3.5.1'