Android-AsyncHttpClient网络框架

android-async-http简介 :

  • Android中收集要求一样平常应用Apache HTTP Client或采纳HttpURLConnect,然则间接应用那两个类库须要写大批的代码才干完成收集post战get要求,而应用android-async-http那个库能够大大的简化操。

android-async-http特性:

  • 采用异步http请求,并通过匿名内部类处理回调结果
  • http请求独立在UI主线程之外
  • 采用线程池来处理并发请求
  • 采用RequestParams类创建GET/POST参数
  • 不需要第三方包即可支持Multipart file文件上传
  • 大小只有25kb
  • 自动为各种移动电话处理连接断开时请求重连
  • 超快的自动gzip响应解码支持
  • 使用BinaryHttpResponseHandler类下载二进制文件(如图片)
  • 使用JsonHttpResponseHandler类可以自动将响应结果解析为json格式
  • 持久化cookie存储,可以将cookie保存到你的应用程序的SharedPreferences中

主要类介绍:

  • AsyncHttpRequest:

继承自Runabler,被submit至线程池执行网络请求并发送start,success等消息。

  • AsyncHttpResponseHandler:

接收请求结果,一般重写onSuccess及onFailure接收请求成功或失败的消息。

  • TextHttpResponseHandler:

继承自AsyncHttpResponseHandler,只是重写了AsyncHttpResponseHandler的onSuccess和onFailure方法,将请求结果由byte数组转换为String。

  • JsonHttpResponseHandler:

继承自TextHttpResponseHandler,同样是重写onSuccess和onFailure方法,将请求结果由String转换为JSONObject或JSONArray

  • BaseJsonHttpResponseHandler:

继承自TextHttpResponseHandler,是一个泛型类,提供了parseResponse方法,子类需要提供实现,将请求结果解析成需要的类型,子类可以灵活地使用解析方法,可以直接原始解析,使用gson等。

  • RequestParams:

请求参数,可以添加普通的字符串参数,并可添加File,InputStream上传文件。

  • SyncHttpClient:

继承自AsyncHttpClient,同步执行网络请求,AsyncHttpClient把请求封装成AsyncHttpRequest后提交至线程池,SyncHttpClient把请求封装成AsyncHttpRequest后直接调用它的run方法。

请求流程:

1、调用AsyncHttpClient的get或post等方法发起网络请求。

2、所有的请求都走了sendRequest,在sendRequest中把请求封装为了AsyncHttpRequest,并添加到线程池执行。

3、当请求被执行时(既AsyncHttpRequest的run方法),执行AsyncHttpRequest的makeRequestWithRetries方法执行实际的请求,当请求访问失败时可以重试。并在请求开始,结束,成功或失败的时候请求时传的ResponseHandlerInterface实例发送消息.

4、基本上使用的都是AsyncHttpResponseHandler的子类,调用其onStart,onSuccess等方法返回请求结果。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值