Retrofit封装Okhttp逻辑原理

时间:2021-6-5 作者:qvyue

总结自https://www.bilibili.com/video/BV1To4y1o7Eb

retrofit封装了Okhttp 本身并不能进行网络请求。只能在Android使用的网络请求框架。

Retrofit封装Okhttp逻辑原理

1.png

Retrofit封装Okhttp逻辑原理

2.png

request:统一完成(post/get/…)

回调陷阱:完成上一步网络请求才能进行下一步网络请求。

Retrofit封装Okhttp逻辑原理

3.png

Retrofit简化了网络请求。优化了网络请求的使用。

Retrofit封装Okhttp逻辑原理

4.png

Retrofit封装Okhttp逻辑原理

5.png

Retrofit封装Okhttp逻辑原理

7.png

build设计模式:参数》5个;存在可选参数。

retrofit.java这里使用的设计模式:

外观、门面模式:本生并不具备什么功能,封装了网络请求的接口。

Retrofit封装Okhttp逻辑原理

6.png

Retrofit的create为什么用动态代理?

Retrofit封装Okhttp逻辑原理

8.png

Retrofit封装Okhttp逻辑原理

9.png

这行代码是Retrofit的核心,返回了一个对象。

等于new 了一个ISaredListService()对象

动态代理。

Retrofit封装Okhttp逻辑原理

10.png

1.对接口了进行拦截。获取到所有的注解信息,即是构建request动态变化的对象

2.就可以动态构建带着具体请求的url。

3.解决了构建url繁琐的问题。

Retrofit封装Okhttp逻辑原理

11.png

serviceMethod设计理念

Retrofit封装Okhttp逻辑原理

12.png

loadServiceMethod方法包含大量反射、大量解析。

所以设计了一个存放serviceMethod的缓存

Retrofit封装Okhttp逻辑原理

13.png

Retrofit封装Okhttp逻辑原理

14.png

Retrofit封装Okhttp逻辑原理

15.png

每一个接口都有一个对应的serviceMethod。

Retrofit封装Okhttp逻辑原理

16.png

RxJavaCallAdapterFactory设计模式和理念(略 等Rxjava后再总结)

链接:https://www.jianshu.com/p/dbd8cf65a89f

声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:qvyue@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。