首先在gradle中添加async-http的使用配置:
compile 'com.loopj.android:android-async-http:1.4.9'
对请求进行封装:
public class AsyncHttpClientTool {
private static AsyncHttpClient client = new AsyncHttpClient();
static {
client.setTimeout(11000); //设置链接超时,如果不设置,默认为10s
}
public static void get(String url, AsyncHttpResponseHandler handler){
client.get(url, handler);
}
public static void get(String url, RequestParams params, AsyncHttpResponseHandler handler){
client.get(url, params, handler);
}
public static void post(String url, AsyncHttpResponseHandler handler){
client.post(url, handler);
}
public static void post(String url, RequestParams params, AsyncHttpResponseHandler handler){
client.post(url, params, handler);
}
}
在程序中的使用:
AsyncHttpClientTool.get(URL, new AsyncHttpResponseHandler() {
@Override
public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
//todo
}
@Override
public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) {
//todo
}
});
AsyncHttpClientTool.post(URL, new AsyncHttpResponseHandler() {
@Override
public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
//todo
}
@Override
public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) {
//todo
}
});