美文网首页
Retrofit源码解读:callAdapter、GsonCon

Retrofit源码解读:callAdapter、GsonCon

作者: _爱笑的eyes | 来源:发表于2019-06-13 11:34 被阅读0次

    adapterFactories中这个Factory就是生产CallAdapter的。

    CallAdapter就是将网络请求执行器转换成不同平台所适用的。

    看一下Factory:她就是定义在CallAdapter中的抽象类Factory。

    Factory默认情况下的三种实现

    这个Factory默认情况下有三种实现。作用就是将默认的网络请求执行器,okHttpCall转换成适合被不同平台用来调用网络请求执行器的格式。

    build:

    前面是一个非空的判断。然后默认情况下是使用ok进行的,他会把他的成员变量callFactory赋值给callFactory对象,就是说如果没有指定,就调用ok来进行请求。这也就验证了Retrofit只是对网络接口请求的一个封装而已,实质还是要使用ok。

    如果这个callFactory对象为空的话,就创建一个OkHttpClient。

    Executor:如果没有指定,就会使用默认的callbackExecutor。callbackExecutor就是一种主线程切换到子线程的一种执行器。如果他为空的话就会调用defaultCallbackExecutor进行赋值。

    这里向集合中添加CallAdapter.Factory的请求适配器。

    然后又会去新建一个数据转换器的工厂集合。在这个集合当中存储的就是默认的数据转换器工厂。

    这两个数据集合类都是获取合适的网络请求适配器,数据转换器,但是他们的存储方式都是从首位到末位开始遍历的。在集合中位置越靠前意味着有越高的使用权限。

    调用build之后会返回一个Retrofit对象,并配入上述已经配置好的成员变量。完成这最后一步的话,就完成了整个Retrofit的创建。

    相关文章

      网友评论

          本文标题:Retrofit源码解读:callAdapter、GsonCon

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