tec*_*shi 8 java apache api android http
在更新到最新的android API级别23(Marshmallow)之后,通过build.gradle添加以下更改后,所有org.apache.http类都无效.
android {
compileSdkVersion 23
buildToolsVersion "23.0.0"
defaultConfig {
applicationId "com.myapp.package"
minSdkVersion 15
targetSdkVersion 23
versionCode 2
versionName "1.1"
}
}
Run Code Online (Sandbox Code Playgroud)
我在这里查看了"Android API差异报告" .它说所有的org.apache.http类都被删除了.有人可以建议什么是替代方案吗?
这是我的代码:
try {
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(address);
httpPost.setEntity(new StringEntity("{\"longUrl\":\""+longUrl+"\"}"));
httpPost.setHeader("Content-Type", "application/json");
HttpResponse httpResponse = httpClient.execute(httpPost);
HttpEntity httpEntity = httpResponse.getEntity();
is = httpEntity.getContent();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
Mid*_*fko 15
请参阅Android开发者的行为更改,其中说明:
Android 6.0版本删除了对Apache HTTP客户端的支持.如果您的应用使用此客户端并定位到Android 2.3(API级别9)或更高版本,请改用HttpURLConnection类.此API更高效,因为它通过透明压缩和响应缓存减少了网络使用,并最大限度地降低了功耗.要继续使用Apache HTTP API,必须首先在build.gradle文件中声明以下编译时依赖项:
Run Code Online (Sandbox Code Playgroud)android { useLibrary 'org.apache.http.legacy' }
| 归档时间: |
|
| 查看次数: |
5911 次 |
| 最近记录: |