一 OKHttp简介
OKHttp是一个处理网络请求的开源框架,Android 当前最火热网络框架,由移动支付Square公司贡献,用于替代HttpUrlConnection和Apache HttpClient(android API23 6.0里已移除HttpClient)。
OKHttpGitHub地址
OKHttp优点
支持HTTP2/SPDY(SPDY是Google开发的基于TCP的传输层协议,用以最小化网络延迟,提升网络速度,优化用户的网络使用体验。)
socket自动选择最好路线,并支持自动重连,拥有自动维护的socket连接池,减少握手次数,减少了请求延迟,共享Socket,减少对服务器的请求次数。
基于Headers的缓存策略减少重复的网络请求。
拥有Interceptors轻松处理请求与响应(自动处理GZip压缩)。
OKHttp的功能
PUT,DELETE,POST,GET等请求
文件的上传下载
加载图片(内部会图片大小自动压缩)
支持请求回调,直接返回对象、对象集合
支持session的保持
二 OkHttp3使用
主要介绍 OkHttp3 的 Get 请求、 Post 请求、 上传下载文件 、 上传下载图片等功能 。
添加OkHttp3的依赖
compile 'com.squareup.okhttp3:okhttp:3.7.0'
compile 'com.squareup.okio:okio:1.12.0'
添加网络权限
<uses-permission android:name="android.permission.INTERNET"/>
添加请求头
private Request.Builder addHeaders() {
Request.Builder builder = new Request.Builde