android_http_client模块介绍

Author Avatar
夜孤黎 1月 08, 2018
  • 在其它设备中阅读本文章

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模块介绍/