Android: org.apache.http 异步任务工作失败
Android: org.apache.http async task Failed to work
我正在尝试将 org.apache.http.legacy 库用于异步任务
compileSdkVersion 23
buildToolsVersion "23.0.2"
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:23.1.1'
}
听说在 API 23 "org.apache.http" 不工作
所以我尝试了这个
android {
compileSdkVersion 23
buildToolsVersion '23.0.2'
useLibrary 'org.apache.http.legacy'
}
之后我同步了项目,但是没有结果
仍然有这么多库没有正确导入
import org.apache.http.Header;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.ResponseHandler;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.BasicResponseHandler;
import org.apache.http.impl.client.DefaultHttpClient;
当我将 API 级别 21 更改为 API 级别 23 时出现此问题。因为我想使用 API 级别 23
这是我用来解析的方法
new AsyncHttpClient().get("url",
new TextHttpResponseHandler() {
@Override
public void onStart() {
}
@Override
public void onRetry(int retryNo) {
}
@Override
public void onFailure(int arg0, Header[] arg1,
String response, Throwable arg3) {
}
@Override
public void onSuccess(int arg0, Header[] arg1,
String response) {
}
由于 org.apache.http.client.HttpClient
在 API 级别 22 中被弃用并且在 API 级别 23 中不再受支持,请使用 openConnection()
。请看下面的代码。
URL url = new URL("urlString");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST");
InputStream is = new BufferedInputStream(conn.getInputStream());
String response = org.apache.commons.io.IOUtils.toString(is, "UTF-8");
System.out.println(response);
据说 org.apache.http.legacy.jar 在 Android/sdk/platforms/android-23/optional,
因此我们可以将该库添加到应用程序库文件夹中
之后使用
useLibrary 'org.apache.http.legacy'
然后同步它
我正在尝试将 org.apache.http.legacy 库用于异步任务
compileSdkVersion 23
buildToolsVersion "23.0.2"
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:23.1.1'
}
听说在 API 23 "org.apache.http" 不工作 所以我尝试了这个
android {
compileSdkVersion 23
buildToolsVersion '23.0.2'
useLibrary 'org.apache.http.legacy'
}
之后我同步了项目,但是没有结果
仍然有这么多库没有正确导入
import org.apache.http.Header;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.ResponseHandler;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.BasicResponseHandler;
import org.apache.http.impl.client.DefaultHttpClient;
当我将 API 级别 21 更改为 API 级别 23 时出现此问题。因为我想使用 API 级别 23
这是我用来解析的方法
new AsyncHttpClient().get("url",
new TextHttpResponseHandler() {
@Override
public void onStart() {
}
@Override
public void onRetry(int retryNo) {
}
@Override
public void onFailure(int arg0, Header[] arg1,
String response, Throwable arg3) {
}
@Override
public void onSuccess(int arg0, Header[] arg1,
String response) {
}
由于 org.apache.http.client.HttpClient
在 API 级别 22 中被弃用并且在 API 级别 23 中不再受支持,请使用 openConnection()
。请看下面的代码。
URL url = new URL("urlString");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST");
InputStream is = new BufferedInputStream(conn.getInputStream());
String response = org.apache.commons.io.IOUtils.toString(is, "UTF-8");
System.out.println(response);
据说 org.apache.http.legacy.jar 在 Android/sdk/platforms/android-23/optional,
因此我们可以将该库添加到应用程序库文件夹中
之后使用
useLibrary 'org.apache.http.legacy'
然后同步它