Android网络开源库

Retrofit封装Okhttp逻辑原理

2021-03-06  本文已影响0人  flynnny

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

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

1.png 2.png

request:统一完成(post/get/...)
回调陷阱:完成上一步网络请求才能进行下一步网络请求。

3.png

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

4.png 5.png 7.png

build设计模式:参数》5个;存在可选参数。
retrofit.java这里使用的设计模式:
外观、门面模式:本生并不具备什么功能,封装了网络请求的接口。

6.png

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

8.png 9.png

这行代码是Retrofit的核心,返回了一个对象。
等于new 了一个ISaredListService()对象
动态代理。

10.png

1.对接口了进行拦截。获取到所有的注解信息,即是构建request动态变化的对象
2.就可以动态构建带着具体请求的url。
3.解决了构建url繁琐的问题。

11.png

serviceMethod设计理念

12.png

loadServiceMethod方法包含大量反射、大量解析。
所以设计了一个存放serviceMethod的缓存

13.png 14.png 15.png

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

16.png

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

上一篇 下一篇

猜你喜欢

热点阅读