1.OkHttp
OkHttp是Square公司开发的一个处理网络请求的开源项目,是目前Android使用最广泛的网络框架。
OkHttp的特点:
①支持HTTP/2并允许对同一主机的所有请求共享一个socket连接;
②如果非HTTP/2,则通过连接池减少了请求延迟;
③默认请求GZip压缩数据;
④响应缓存,避免一些完全重复的请求。
2.OkHttp的使用
使用时需添加依赖:
compile ‘com.squareup.okhttp3:okhttp:3.4.1’
OkHttp请求过程中最少只需要接触OkHttpClient、Request、Call、Response,但是框架内部进行了大量的逻辑处理。
①OkHttpClient客户端对象
使用OkHttp请求网络时,首先需要获取客户端对象OkHttpClient,可以直接通过new创建,也可以通过OkHttpClient静态内部类Builder创建,开发中最常用的是通过build的方式。静态内部Builder提供了很多方法,比如readTimeout读时间、writeTimeout写时间、connectTimeout连接超时时间以及retryOnConnectionFailure是否重连等。
1)通过new创建OkHttpClient
OKHttpClient client = new OkHttpClient();
2)通过builder创建OkHttpClient
private OkHttpClient mHttpClient = null;
private void initHttpClient() {
if (nul