一、什么是OkHttp3
(1)定义:
OkHttp3是一个处理网络请求的开源项目,是目前最火的网络框架,作者是Square公司,
用于代替Android提供的HttpConnection和HttpClient。**
(2)OkHttp的特点
1、是基于建造者模式(将一个复杂对象的构建与它的表示分离,用于属性参数很多 时。)创建的
建造者模式:https://www.jianshu.com/p/be290ccea05a
2、链式调用,每一个方法的返回值类型都是当前类的对象
(3)它的优点是什么
支持HTTP2/SPDY(SPDY是Google开发的基于TCP的传输层协议,用以最小化网络延迟,提升网络速度,优化用户的网络使用体验。)
socket自动选择最好路线,并支持自动重连,拥有自动维护的socket连接池,减少握手次数,减少了请求延迟,
共享Socket,减少对服务器的请求次数。
拥有Interceptors轻松处理请求与响应(自动处理GZip压缩)。
二、OKHttp的功能
PUT,DELETE,POST,GET等请求
文件的上传下载
加载图片(内部会图片大小自动压缩)
支持请求回调,直接返回对象、对象集合
支持session的保持
OkHttp请求流程
使用 OkHttp 发起一个请求主要三步:
1、需要构造一个 OkHttpClient
2、构造请求信息 Request
3、发起请求
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder().url("http://www.baidu.com")