android_http_client模块介绍
HttpClient模块中定义了一系列网络请求方法,实际上是对okHttp + retrofit
的再次封装,使用者可查看源码后根据需要再决定是否使用这些定义好的方法。
1、BaseRequest
BaseRequest是内部使用Gson格式化json字符串的一个基类,使用者可以将想要格式化的数据类继承此类,然后调用基类的toJsonText()
方法便可返回json字符串。
2、IHttpClient和HttpClientHandler
这两个类定义并封装了一些基本的网络请求方法,包括get方法、post字符串方法、post json方法以及相应的RxJava类型返回值方法,如果没有特殊的需求这些方法可以满足常规的使用。
3、HttpClientUtil
这个工具类中封装了对网络请求返回值的的基础解析方法,适用于返回值为json类型并形似{"status":"状态码","message":"提示信息",...}
的网络请求,解析方法通过解析出status并检测其值是否为200来判断网络请求是否成功,若成功便将原json字符串传递给回调接口的成功方法,若失败则将message解析后传递给回调接口的失败方法。同时也提供了相应的RxJava类型返回值方法。
4、使用方法
使用构造器构建,如果想要使用自定义的网络请求接口,调用构造器的buildCustomRequest(Class<T> service)
方法即可,以下是初始化默认网络请求接口的方法:
val clientHandler = HttpClientHandler
.HandlerBuilder()
.setConnectTimeOut(6000)
.setReadTimeOut(6000)
.setWriteTimeOut(6000)
.setRxIsOpen(true)
.buildDefaultRequest()
clientHandler.postJson()
5、使用注意
使用需要权限
如何使用:
api 'com.sumavision.android_http_client:android_http_client:v1.x.x'
查看源码:
svn://192.165.152.13/sumard5/Project/Tetris/trunk/platform/android-platform/AndroidPlatform/android_http_client
This blog is under a CC BY-NC-SA 3.0 Unported License
本文链接:http://yeguli.cn/2018/01/08/android-http-client模块介绍/