转载请注明出处:明桑Android
这是Android网络框架系列的最后一篇了~~,
文章主要介绍第三方库 android-async-http的使用,之后作为Android网络框架系列的完结,对在开发中如何学习和使用第三方框架做个总结!
1,Android Asynchronous Http Client简介
android-async-http是封装了HttpClient的顶层实现,它所发起的Request全部运行于不同于UI线程的其它线程中,但它回调的处理逻辑和使用Handler发送message处理的回调逻辑一样,你也可以将它运行在Service线程或者background线程中。
特点:
- 异步HTTP请求,匿名回调响应函数
- 在其他线程而非UI线程中发送Request
- Requests使用线程池管理限制并发资源
- 可以自定义GET/POST参数
- 多种文件上传方式
- JSON数据的上传
- Request重试机制
- 解析多种数据格式
- 支持持久化存储Cookie
- 支持SAX解析
- 支持多种内容和语言编码格式,不仅仅是UTF-8
2,Android-async-http的使用
- 跟所有第三方库的使用一样,我们需要将其添加进我们的项目:可以直接下载最新.jar包( android-async-http.jar),也可以从github中将其clone到本地:android-async-http
- 如果是直接下载的.jar包,将其添加至项目
libs
文件夹下,并右键jar包,选择将其Add As Library: - 如果是clone的项目,你还是需要将其编译成jar包,然后根据第1步操作添加进项目:以下是编译过程:
首先进入你clone的android-async-http目录下,然后在命令行执行如下命令
- 如果是直接下载的.jar包,将其添加至项目
android update project -p
ant jar
2.android-async-http的基本用法:
我们首选需要创建一个AsyncHttpClient
实例,然后用它发起Request
AsyncHttpClietn client=new AsyncHttpClient();
client.get("http://www.baidu.com",new AsyncHttpResponseHandler(){
@Override
public void onStart(){
//在Request发起前调用
}
@Override
public void