这次我们来介绍Android的另外一个网络请求框架Android-async-http
Android-async-http是一款国外的网络请求开源框架,可以进行高效的网络请求,适合文件的上传和下载。在这一点上就与前面介绍的Volley有所不用。Volley适合数据下且频繁的网络请求,单数据量大就不适合了。这个时候,我们就可以选择使用Android-async-http框架了。
Android-async-http特点:1.具有清晰的网络请求回调,这个和Volley类似
2.是一个基于线程池的请求,限制并发资源的使用。这样就不会内存溢出
3.其get和post请求是基于参数传递的
4.支持大数据文件上传。
5.自动的请求重试,当我们请求失败时,可以定义其进行再次请求。
使用流程:
1.倒入jar包
2.建立请求对象
AsyncHttpClient httpClient=new AsyncHttpClient();
3.发送get请求:
第一个参数填入UIL 第二个参数实力请求回调对象,在这个对象中我们会重写请求成功和请求失败的方法。在这里对请求成功和请求失败分别进行处理。
httpClient.get("url", new TextHttpResponseHandler() {
@Override
public void onFailure(int i, Header[] headers, String s, Throwable throwable) {
}
@Override
public void onSuccess(int i, Header[] headers, String s) {
}
});
4.发送Post请求
post请求时需要先实例化参数对象,将我们需要传递的参数添加进去。
请求对象中的一个个参数为url,第二个参数为我们所要传递的参数对象,第三个参数会请求回调对象。和get请求类似
RequestParams params=new RequestParams();
params.put("aaa","aaa");
httpClient.post("url", params, new TextHttpResponseHandler() {
@Override
public void onFailure(int i, Header[] headers, String s, Throwable throwable) {
}
@Override
public void onSuccess(int i, Header[] headers, String s) {
}
});
Android-async-http和Volley的区别主要还是针对请求数据情况的。Android-async-http适合大数据上传和下载,而Volley更适合小数据频繁请求的情况。所以,需要根据自身应用的需求来选择使用。