重点内容
主页: https://github.com/square/okhttp
配置: 添加依赖 compile ‘com.squareup.okhttp3:okhttp:3.2.0’
特点:
支持HTTP/2 和 SPDY
默认支持 GZIP 降低传输内容的大小
支持网络请求的缓存
当网络出现问题时,自动重试一个主机的多个 IP 地址
使用步骤:
创建OkHttpClient对象
创建Request对象
添加Request对象到OkHttpClient对象中并执行请求.示例代码:
OkHttpClient client=new OkHttpClient();
RequestBody body = new FormBody.Builder()
.add("phone", "13812345678")// 构造请求的参数
.add("key", "daf8fa858c330b22e342c882bcbac622")// 构造请求的参数
.build();
Request post_request = new Request.Builder()
.url(URL_POST)// 指定请求的地址
.post(body)// 指定请求的方式为POST
.build();
client.newCall(post_request).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
// 请求失败的处理
}
@Override
public void onResponse(Call call, Response response) throws IOException { // 请求成功的处理
ResponseBody body = response.body();
String string = body.string();// 把返回的结果转换为String类型
// body.bytes();// 把返回的结果转换为byte数组
// body.byteStream();// 把返回的结果转换为流
}
});
因为原生OkHttp的使用比较复杂,有一个包装过的工具项目okhttp-utils使用非常简单
添加依赖: compile ‘com.zhy:okhttputils:2.3.8’
工具类简介:https://github.com/hongyangAndroid/okhttp-utils