Java Android studio无法解析符号“HttpClient”
我有一个Android项目,我需要使用http调用 我只使用以下代码:Java Android studio无法解析符号“HttpClient”,java,android,android-studio,Java,Android,Android Studio,我有一个Android项目,我需要使用http调用 我只使用以下代码: public void onGetClick(View v) { HttpClient client = new DefaultHttpClient(); HttpGet request = new HttpGet("http://www.google.com"); HttpResponse response = client.execute(request); BufferedReader
public void onGetClick(View v) {
HttpClient client = new DefaultHttpClient();
HttpGet request = new HttpGet("http://www.google.com");
HttpResponse response = client.execute(request);
BufferedReader rd = new BufferedReader(new InputStreamReader
(response.getEntity().getContent()));
String line = "";
while ((line = rd.readLine()) != null) {
Log.d("WM.ALS", line);
}
}
但是我找不到HttpClient库
我将从Apache下载的.jar文件添加到dir/lib中,并添加到
build.gradleModule:app文件,我添加了:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.android.support:design:23.0.1'
compile 'org.apache.httpcomponents:httpcore-4.4.3'
compile 'org.apache.httpcomponents:httpclient-4.5.1'
}
但还是不行
如何操作?将此添加到build.gradle模块:应用程序中
android {
useLibrary 'org.apache.http.legacy'
}
正如@Rushabh042所回答的,它的工作原理是
android{
compileSdkVersion 23
buildToolsVersion "23.0.2"
useLibrary 'org.apache.http.legacy'
}
会很有魅力的。。。!
或者你也可以这样做:
Android studio->文件->项目结构->在模块部分左侧的依赖项选项卡中选择应用程序->添加依赖项
搜索org.apache.http.legacy
您可以从搜索列表中进行选择
重建你的应用程序,然后你就可以了…:
快乐编码
您正在使用appcompat-v7:23.1.1'。此处不推荐使用HttpClient。
SDK 23不支持HttpClient。您需要使用URLConnection
HTTP RFC 2616的URL连接,用于通过web发送和接收数据。数据可以是任何类型和长度。这个班可能是
用于发送和接收数据流,其长度在中未知
前进
请查收
您可以使用org.apache.http.legacy
Android 6.0版本取消了对Apache HTTP客户端的支持。如果
您的应用程序正在使用此客户端,目标是Android 2.3 API级别9或更高
在更高级别,请改用HttpURLConnection类。这个API更简单
高效,因为它通过透明
压缩和响应缓存,并将功耗降至最低。到
如果要继续使用ApacheHTTPAPI,必须首先声明
在build.gradle文件中遵循编译时依赖关系
然后清理重建同步。希望这有帮助。为什么不使用HttpURLConnection?我没有想过为什么在HttpURLConnection提供相同功能时使用extraDeprecated库?
android {
useLibrary 'org.apache.http.legacy'
}