通信(3) - 网络短连接

一、概述

基础框架有HttpClient、HttpURLConnection、Okhttp3个

    1. HttpClient是Apache 的一个三方网络框架,网络请求做了完善的封装 ,api众多,用起来比较方便,开发快。 android5.0被废弃,6.0删除。(被okHttp取代)

    2. HttpURLConnection 一个多用途、轻量级的Http客户端。 HttpUrlConnection是JDK里提供的联网API,我们知道Android SDK是基于Java的,所以当然优先考虑HttpUrlConnection这种最原始最基本的API,其实大多数开源的联网框架基本上也是基于JDK的HttpUrlConnection进行的封装罢了

    3. OkHttp 是专注于提升网络连接效率的http客户端(支持2.3+系统版本和jdk1.7+版本)。

优点:

1.缓存连接  -> 实现同一ip和端口的请求重用一个socket,从而大大降低网络连接的时间 ,响应避免重复的网络请求

2.缓存内容  -> 1.检测新鲜度 2.服务再验证

3.使用GZIP压缩减少传输的数据量

 

缺点:

请求网络切换是在线程里面的,不在主线程不能刷新UI,需手动处理。

在上面3个基础框架上延伸了一些优秀的通信框架。

例如:国外Google的Volley、androidAsyncHttp、Square的Retrofit。

国内的XUtils和Afinal等等

参考:https://www.jianshu.com/p/13b96d3f29c3

 

二、Volley

中文翻译为“齐射、并发”,是在 2013 年的 Google 大会上发布的一款 Android 平台网络通信库,具有网络请求的处理、小图片的异步加载和缓存等功能,能够帮助 Android APP 更方便地执行网络操作,而且更快速高效。

优点:

(1)自动调度网络请求;

(2)高并发网络连接;

(3)通过标准的 HTTP cache coherence(高速缓存一致性)缓存磁盘和内存透明的响应;

(4)支持指定请求的优先级( 请求队列的优先级排序);

(5) 提供多样的取消机制:网络请求 cancel 机制,我们可以取消单个请求,或者指定取消请求队列中的一个区域;

(6)框架容易被定制,例如,定制重试或者回退功能;

(7)包含了调试与追踪工具;

(8)默认 Android2.3 及以上基于 HttpURLConnection,2.3 以下使用基于 HttpClient

(9)提供简便的图片加载工具(其实图片的加载才是我们最为看重的功能)

 

缺点:

(1)不能下载文件:这也是它最致命的地方,官网或相关地址:

Volley 的 github 地址:https://github.com/mcxiaoke/android-volley

Google I/O 2013 – Volley: Easy, Fast Networking for Android:https://www.youtube.com/watch?v=yhv8l9F44qo&feature=player_embedded

简单的使用:http://www.dengzhr.com/others/mobile/android/762

 

 

三、Android-async-http

Android-async-http 是一个强大的网络请求库,这个网络请求库是基于 Apache HttpClient 库之上的一个异步网络请求处理库,网络处理均基于 Android 的非 UI 线程,通过回调方法处理请求结果。

android-async-http 是一个强大的第三方开源网络请求库。可惜的是 Android 6.0 (api 23) SDK,不再提供 org.apache.http.* (只保留几个类)。

优点:

(1) 在匿名回调中处理请求结果

(2) 在 UI 线程外进行 http 请求

(3) 文件断点上传

(4) 智能重试

(5) 默认 gzip 压缩

(6) 支持解析成 Json 格式

(7) 可将 Cookies 持久化到 SharedPreference

官网或相关地址:

Android-async-http 的 github 地址:https://github.com/loopj/android-async-http

官网教程:http://loopj.com/android-async-http/

 

 

四、retrofit

其实 retrofit 是根据OKHttp封装的框架,它的底层网络请求就是使用OKHttp的,这个框架的作者也是非常有名的,就是 Jake Wharton 。

优点:

(1)支持 okhttp

(2)注解处理,简化代码

(3)支持上传和下载文件

(4)支持自己更换解析方式

(5)支持多种http请求库

官网或相关地址:

OKHttp 的 github 地址:https://github.com/square/retrofit

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值