Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/380.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 API级别23+;_Java_Android Studio_Httprequest_Android Studio 3.0 - Fatal编程技术网

Java Android Studio API级别23+;

Java Android Studio API级别23+;,java,android-studio,httprequest,android-studio-3.0,Java,Android Studio,Httprequest,Android Studio 3.0,你好 我一直在互联网上搜索如何在Android Studio中制作Http Get应用程序,我发现你可以添加 compile group: 'org.apache.httpcomponents', name: 'httpclient', version: '4.5.5' 到Android API level 23>的依赖项。或 android{ useLibrary 'org.apache.http.legacy' } 对于Android API级别23+ 然

你好 我一直在互联网上搜索如何在Android Studio中制作Http Get应用程序,我发现你可以添加

compile group: 'org.apache.httpcomponents', name: 'httpclient', version: '4.5.5'
到Android API level 23>的依赖项。或

android{          
    useLibrary  'org.apache.http.legacy'
 }
对于Android API级别23+ 然后我得到了Java代码

HttpClient httpClient= HttpClientBuilder.create().build();
HttpGet request= new HttpGet(your_url_to_read);
request.setHeader("k1", "value1");
request.setHeader("k2", "value2");
HttpResponse response= httpClient.execute(request);

System.out.println("Response Code : "+ response.getStatusLine().getStatusCode());
response.getStatusLine().getStatusCode());
//want to read the response content?
BufferedReader rd = new BufferedReader(
        new InputStreamReader(response.getEntity().getContent()));

StringBuffer result = new StringBuffer();
String line = "";
while ((line = rd.readLine()) != null) {
    result.append(line);
}
通过@user404。我已经成功地在下面的Java代码中导入了其他包,但是在第1行,Android Studio无法导入HttpClientBuilder。然后我看到一条关于Android API 23+级别的HttpClientBuilder的帖子(我忘了它在哪里,但它在StackOverflow上的某个地方)有人说你不能在Android API 23+中导入HttpClietBuilder,因为谷歌删除了该功能

所以现在我正在寻找一种方法来导入HttpClientBuilder包,而不降低API级别,或者寻找一种全新的方法来在Java中使用头生成Http Get请求,如 URL“头”授权:“123456ABCDEF” ,而不是URL中类似“”的参数


感谢正手回答

只是org.apache.http包在默认情况下已被删除,因此如果您的目标是API级别23,您需要做一些额外的工作来实现这些功能

useLibrary'org.apache.http.legacy'
添加到Gradle是一种解决此问题的方法,您将能够以23为目标。但是,您将得到旧的实现,这是一个遗留的原因

手动添加最新版本的ApacheHttpClient作为依赖项是一个不错的选择,无论您的目标是哪个Android版本,它都将继续工作

同样,您也可以使用另一个HTTP库,如OkHttp。您还可以使用更高级别的库,如翻新