美文网首页安卓资源收集RxJAva OKHttp Retrofit安卓开发学习
开发流程之四:网络请求管理类HttpClient

开发流程之四:网络请求管理类HttpClient

作者: 隰有荷 | 来源:发表于2017-11-16 00:20 被阅读19次

    本文与网络请求框架那篇文章大致类似,但封装的更为完善,介绍的也更详细,在项目中所有用到的网络请求都需要该类参与。

    首先

    添加依赖库:

    compile 'com.squareup.retrofit2:retrofit:2.1.0'compile 'com.squareup.retrofit2:converter-gson:2.1.0'

    然后,写一个独立的网络请求管理类HttpClient,其中有网络请求的基地址,各种超时时长等属性,配置日志拦截等信息,图中涉及的类,本文均会一一贴出,HttpClient类如下:

    如上图所示:

    config方法中有baseUrl这个参数,为网络请求的基地址,该方法在BaseApplication中进行调用,并传入参数即可,注意一点,基地址的结尾为"/"

    在BaseApplication中进行调用并传参

    其中:EnvUtil如下,syncIsDebug方法也要在BaseApplication中进行调用,以此设置app运行环境

    EnvUtil类

    其中:日志拦截器HttpInterceptor(context)代码稍多,分两图截取,如下:

    HttpInterceptor上半部分 HttpInterceptor下半部分

    以上均为使用网络请求的准备工作,下面介绍如何使用。

    新建一个interface接口 NetworkAPI, 其中的某一个方法如下:

    可见,其中的ResponseListBean这个信息类是请求的列表数据返回后存入的基础类,其后的CatPrizeCommentBean这个信息类是页面中需要用到的列表数据信息类。

    请求列表的方法

    所以ResponseListBean是啥样的?如下:

    该类中所有字段要根据后台所给来写,我们主要就是想要获取data这个对象

    基础列表信息类ResponseListBean

    在页面中使用:

    使用该网络请求获取列表数据

    同样的,如果要获取的数据并不是列表而是空或者是简单的字段,如点个赞

    请求方法中不需要后台新数据的方法

    其中的ResponseBean与ResponseListBean大同小异,如下:

    ResponseBean信息类

    若需要从返回的数据中获取数据,也可以在其后添加当前页面所需的数据信息类,写法与获取列表数据一样。

    如上各步骤,一套从搭建网络请求到获取后台数据的流程走完。

    结束。

    相关文章

      网友评论

        本文标题:开发流程之四:网络请求管理类HttpClient

        本文链接:https://www.haomeiwen.com/subject/cpkkvxtx.html