OkHttp是Square公司主导的一个网络请求开源框架。在github项目里OkHttp是这样介绍的:An HTTP & HTTP/2 client for Android and Java applications意指:一个Java或者安卓程序的HTTP&HTTP/2客户端。除此之外OkHttp的强大之处还体现在Google官方推荐使用。在我的毕业设计中我就使用了OkHttp。不过那时候使用的还是2.7的版本,现在已经更新到了3.x版本了。那么接下来我们了解一下OkHttp2.7,OkHttp3.x两者的简单实用。
请求配置:
|
生成Get请求:
okhttp2.7与 okhttp3.x的get请求基本没有什么差别的,以下添加请求头的时候可以添加多个。其中它也提供了一个headers的方法方便添加多个请求头
|
生成Post请求:
post请求的主要区别在于RequestBody添加键值对,okHttp2.7用的是new FormEncodingBuilder(),而OkHttp3.x用的是FormBody.Builder();
生成其他请求:
其它请求主要包括delete、put、head、patch等等其中put、head、patch的用法基本跟post一致,而delete提供了方法一个要穿参数一个不用传参数,因此在不同场合可以根据不同的需求添加以上几个Http请求方法。
发起异步请求:
通过以上生成的任何一个请求,我们就可以发起请求并获得请求回调结果,其中OkHttp向我们提供了异步请求以及同步请求。首先我们来看一下异步请求回调具体是如何实现的。异步时在callback的onResponse触发时可更新UI
|
发起同步请求:
同步方法会阻塞线程,不要在UI线程使用
|
OkHttp基本封装:
要用好一个好的开源框架,对其做基本的封装是很有必要的。这样一来可以在使用的地方减少代码量,保持代码整洁。下面我们做最基本的封装。然后就可以在代码中使用了。下面我就直接贴代码有点长。
|
官方文档:OkHttpWiki