美文网首页
Retrofit--网络通讯框架

Retrofit--网络通讯框架

作者: azu_test | 来源:发表于2019-03-01 12:00 被阅读0次

1. 使用

2. Retrofit框架的使用实例

3. Retrofit框架的使用流程以及各功能的简单介绍

4. 源码解析

分析时只分析Android平台限实例走的流程
源码解析时希望能跟着代码的流程走一下

    1. Retrofit
      生产平台适配器Platform,并通过Platform生产MainThreadExecutorExecutorCallAdapterFactory,通过外部添加数据解析适配器Converter.Factory

    1. Platform
      根据不同平台初始化不同平台的对应继承子类,此处就是Android类
    • Android
      里面有两个方法:
      1. 一个是生成MainThreadExecutor
      2. 一个是通过MainThreadExecutor生成ExecutorCallAdapterFactory
    • MainThreadExecutor
      执行后会将callback调用的方法返回到UI线程内执行

    1. ExecutorCallAdapterFactory
      对象持有MainThreadExecutor,通过OkHttpCallMainThreadExecutor,生成最终暴露给用户的Call--ExecutorCallbackCall
    • ExecutorCallbackCall
      暴露给用户的最终Call,通过enqueue()方法做网络请求,然后里面根据持有有的OkHttpCall做真正的网络请求,并将最终数据通过MainThreadExecutor回调给用户

    1. Converter.Factory
      做数据请求回的数据解析操作

    1. ServiceMethod
      1. 解析Method,即解析请求方法的注解参数等内容
      2. 生成真正的网络请求OkHttp#Call对象
      3. 通过Converter.Factory解析网络请求返回的数据
      4. 通过ServiceMethod本身生成OkHttpCall
      5. 通过ExecutorCallAdapterFactory获取CallAdapter,进而通过CallAdapterOkHttpCall可获取ExecutorCallbackCall,即是最终暴露给使用者的Call

    1. OkHttpCall
      持有ServiceMethod
      网络请求的中介:
      1. 通过ServiceMethod生成真正的OkHttp#Call
      2. 通过OkHttp#Call做真正的网络请求
      3. 返回的网络数据通过ServiceMethod解析成我们需要的类型

相关文章

  • Retrofit(二)--流程图

    移步Retrofit--网络通讯框架

  • Retrofit(五)--ExecutorCallAdapter

    移步Retrofit--网络通讯框架 ExecutorCallAdapterFactory的工作 持有回调给用户的...

  • Retrofit(七)--OkHttpCall

    移步Retrofit--网络通讯框架 OkHttpCall的工作 通过ServiceMethod生成真正的OkHt...

  • Retrofit(六)--ServiceMethod

    移步Retrofit--网络通讯框架 ServiceMethod的工作 解析Method,即解析请求方法的注解参数...

  • Retrofit(一)--使用实例

    移步Retrofit--网络通讯框架 使用前准备 免费的公共接口:查询天气https://www.apiopen....

  • Retrofit--网络通讯框架

    1. 使用 2. Retrofit框架的使用实例 Retrofit的使用实例 3. Retrofit框架的使用流程...

  • Retrofit(三)--Retrofit

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

  • Retrofit(四)--Platform

    移步Retrofit--网络通讯框架 Platform的工作 根据不同平台初始化不同平台的对应继承子类,此处就是A...

  • 关于IPv6被拒的问题解决

    使用网络通讯框架; 避免使用 IPv4 专用的 API; 避免使用硬编码地址。 1> 使用网络通讯框架;也就是是说...

  • Retrofit的原理

    Retrofit是目前比较流行的网络框架,它封装了okhttp作为底层的网络通讯框架, 使用动态代理方式来解析注...

网友评论

      本文标题:Retrofit--网络通讯框架

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