美文网首页
Retrofit数据解析器、url、网络请求适配器等

Retrofit数据解析器、url、网络请求适配器等

作者: _爱笑的eyes | 来源:发表于2019-06-04 21:41 被阅读0次

Retrofit是RESTful的HTTP网络请求框架的封装。

网络请求的工作本质上是okHttp完成的,而retrofit仅负责网络请求接口的封装。

使用步骤:

1.创建描述网络请求的接口

在内部通过注解描述网络请求的参数和配置网络请求参数。

在这个方法内定义了一个getInService()方法,返回值是个Call类型的泛型,他把表示的是接收数据的类在内部定义了个Bean, 。

这就是第一步,定义一个接口,然后再接口中定义一个方法和相应的注解。

其实第一部非常关键,因为Retrofit内部会通过动态代理的模式将我们的接口以及注解转换成一个http请求,最后在去执行http请求。还有一点就是接口中的每一个方法还有他的参数都需要使用注解来标注。

2.创建retrofit实例

一个Retrofit他完整的url包含两部分,一个是在baseUrl中,还有一个是在接口中通过注解设置的。

addConverterFactory添加一个数据解析的工厂,由这个数据解析的工厂生产数据解析器,用来解析服务器解析给我们的数据

addCallAdapterFactory添加网络请求适配器的工厂,其实作用都是一样的,通过工厂模式生产我们的网络请求适配器。因为Retrofit支持多种网络请求适配器的方式,比如Java8,RxJava等等,这时候系统就会根据我们需要的 场景选择不同网络请求的适配器。

3.创建网络请求接口实例并配置网络请求参数

调用Retrofit的create方法,并将前面的接口传进来,其实就是获取前面接口定义好的一个对象,然后调用接口中定义好的方法来获取我们的Call对象。这个Call对象非常重要,它是用于发送网络请求所需要的。

4.发送网络请求 

在这里模仿了一个异步网络请求的方法,他的请求方法和okhttp是一致的。因为Retrofit网络请求本质上都是由okhttp来做的,Retrofit只是对我们网络请求的一个接口进行一个封装。(包括对参数的一个设置,头部信息,url等等)

5.处理服务器返回的数据

通过callback接口返回两个方法,在成功或失败的方法内做出相应的处理

相关文章

  • Retrofit数据解析器、url、网络请求适配器等

    Retrofit是RESTful的HTTP网络请求框架的封装。 网络请求的工作本质上是okHttp完成的,而ret...

  • Retrofit(三)--Retrofit

    移步Retrofit--网络通讯框架 Retrofit的工作 设置url的前半部分 生产平台适配器Platform...

  • Retrofit2 post异步请求

    请求步骤: 1,定义接口(封装URL地址和数据请求)2,实例化Retrofit3,通过Retrofit实例创建接口...

  • Retrofit2 post同步请求

    请求步骤: 1,定义接口(封装URL地址和数据请求)2,实例化Retrofit3,通过Retrofit实例创建接口...

  • Retrofit2 get同步请求

    请求步骤: 1,定义接口(封装URL地址和数据请求)2,实例化Retrofit3,通过Retrofit实例创建接口...

  • Retrofit2 get异步请求

    请求步骤: 1,定义接口(封装URL地址和数据请求)2,实例化Retrofit3,通过Retrofit实例创建接口...

  • Retrofit之请求头

    在《Retrofit之请求参数》,我们讨论了请求的url参数、表单编码以及使用请求主体发送数据,但是处理API的请...

  • Retrofit之请求参数

    在上文,我们了解了如何定义请求Url,感兴趣的朋友可以参见《Retrofit之请求Url》。Retrofit系列持...

  • 网络编程编程数据处理

    开始你的下载之旅 如何请求网络数据try { URL url = new URL(urlString);//...

  • Android-Retrofit+RxJava+OkHttp

    Retrofit Retrofit的本质 准确来说,Retrofit只是负责对网络请求接口的封装,真正的网络请求工...

网友评论

      本文标题:Retrofit数据解析器、url、网络请求适配器等

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