Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android studio无法解析符号“HttpClient”_Java_Android_Android Studio - Fatal编程技术网

Java Android studio无法解析符号“HttpClient”

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

我有一个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 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'
       }