1.首先需要添加访问网络的权限
dependencies {
compile 'com.loopj.android:android-async-http:1.4.9'
}
2.两种使用方法
AsyncHttpClient client = new AsyncHttpClient();
client.get("https://www.google.com", new AsyncHttpResponseHandler() {
@Override
public void onStart() {
// called before request is started
}
@Override
public void onSuccess(int statusCode, Header[] headers, byte[] response) {
// called when response HTTP status is "200 OK"
}
@Override
public void onFailure(int statusCode, Header[] headers, byte[] errorResponse, Throwable e) {
// called when response HTTP status is "4XX" (eg. 401, 403, 404)
}
@Override
public void onRetry(int retryNo) {
// called when request is retried
}
});
AsyncHttpClient client = new AsyncHttpClient();
client.get("https://www.csdn.net/", new TextHttpResponseHandler() {
@Override
public void onFailure(int statusCode, Header[] headers, String responseString, Throwable throwable) {
}
@Override
public void onSuccess(int statusCode, Header[] headers, String responseString) {
}
});
两种方法回调的返回值不同
3.传递简单参数
RequestParams requestParams = new RequestParams();
requestParams.put("username","amily");
requestParams.put("age",20);
AsyncHttpClient client = new AsyncHttpClient();
client.get("http://your_url",requestParams, new TextHttpResponseHandler() {
@Override
public void onFailure(int statusCode, Header[] headers, String responseString, Throwable throwable) {
}
@Override
public void onSuccess(int statusCode, Header[] headers, String responseString) {
}
});
4.传递JSON格式的参数
AsyncHttpClient client = new AsyncHttpClient();
JSONObject object = new JSONObject();
try {
object.put("Roadlamp",1);
} catch (JSONException e) {
e.printStackTrace();
}
ByteArrayEntity byteArrayEntity=null;
try {
byteArrayEntity = new ByteArrayEntity(object.toString().getBytes("UTF-8"));
byteArrayEntity.setContentType(new BasicHeader(HTTP.CONTENT_TYPE,"application/json"));
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
client.post(this, url, byteArrayEntity, "application/json", new TextHttpResponseHandler() {
@Override
public void onFailure(int statusCode, Header[] headers, String responseString, Throwable throwable) {
Log.e("MAIN",responseString);
}
@Override
public void onSuccess(int statusCode, Header[] headers, String responseString) {
Log.e("MAIN",responseString);
}
});