AsyncHttp网络请求使用心得:

特点: 参考: https://my.oschina.net/u/725054/blog/494494

异步方式发起Http请求,可以使用匿名回调函数处理网络应答;

在UI主线程之外的工作线程发起Http请求;

通过使用线程池解决了资源并发的效率问题;

通过使用RequestParams类,可完成GET/POST的参数构建;

支持文件的分段下载功能;

支持上传JSON数据流;

对重定向循环、重定向相对路径异常进行了处理

代码体积小,全部功能只占90kb;

专门针对移动网络的不稳定性,对请求重发进行了优化,实现了自动智能处理;

传输时支持数据压缩,可自动对应答进行gzip解压处理;

使用BinaryHttpResponseHandler,可进行较底层的tcp/ip协议数据通信;

JsonHttpResponseHandler内嵌JSON语法分析功能,可完成JSON数据解析;

FileAsyncHttpResponseHandler可直接将应答保存到本地文件中;

支持cookie的持久化,可使用App的SharedPreferences保存cookie信息;

通过BaseJsonHttpResponseHandler可与Jackson JSON, Gson等第三方JSON框架库集成;

SaxAsyncHttpResponseHandler支持SAX语法分析

除了UTF-8,还支持其它语言编码。

使用PersistentCookieStore进行Cookie的持久化存储

 async-http-client库包含一个PersistentCookieStore类,这个类实现了CookieStore接口(源自Apache HttpClient包),可自动将cookie信息保存到应用的SharedPreferences储存中。

    如果你的应用需要使用cookie维护用户授权session,这是非常有用,方便的。即使关闭了app或重新启动app,应用也可以保持用户已登录的状态。

    首先创建一个AsyncHttpClient实例:

AsyncHttpClient myClient = new AsyncHttpClient();
    为这个实例设置一个新建的PersistentCookieStore的实例以进行cookie存储,调用这个PersistentCookieStore实例的构造函数时,使用一个activity或application context作参数(一般用this就可以了):

PersistentCookieStore myCookieStore = new PersistentCookieStore(this);
myClient.setCookieStore(myCookieStore);
    这样由服务端接收到的cookie将会自动存储在你的android设备上。如果要添加自己的cookie,只需要构建一个新的cookie并调用addCookie函数:

BasicClientCookie newCookie = new BasicClientCookie("cookiesare", "awesome");
newCookie.setVersion(1);
newCookie.setDomain("mydomain.com");
newCookie.setPath("/");
myCookieStore.addCookie(newCookie);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值