Retrofit分析-漂亮的解耦套路(视频版)

关于Retrofit的一切都在这里了

Retrofit分析-漂亮的解耦套路(视频版)
1935人加入学习
(24人评价)
价格 ¥4.90
教学计划
会员免费学 购买课程

类型安全 声明泛型

通过注解配置 Http 请求

CallAdapter -> Executor

[展开全文]

阅读源码的基本姿势

how

why

what

 

网络请求在App中最简单的workflow

 

[展开全文]

1、call.enqueue是异步操作,但最终会在主线程更新View,所以其中的OkhttpClient会做切换

2、retrofit做了动态代理,拦截请求并转换成请求的数据对象

[展开全文]

service 只是用来配置参数,并没有具体的实现

retrofit 动态代理并调用 service 的方法,并不是实现方法,而是通过拦截配置 实现调用  serviceMethod的方法

[展开全文]

外观模式

门面类,使用实例,方法注释

动态代理

  静态代理:就是包装,拦截方法

 

 

[展开全文]
(1) OkHttpCall: Okhttp 请求的包装类
  
[展开全文]

retrofit是通过注解来表示一个HTTP请求。所有的请求参数都在一个interface里面表明。

[展开全文]

build()

 OkhttpClient

 CallAdapter

 Convertor

-> retrofit

ServiceMethod.build()

 createCallAdapter

 createConvertor

 praseAnnotation

 

Call<> callAdapter.adapt(OkhttpCall<>)

Obeserver<>  callAdapter.adapt(OkhttpCall<>)

[展开全文]

build()

  OkHttpClient

  callbackExecutor

  callAdapter

   convertor

retrun retrofit

 

create()

使用注解方式当http请求参数

ServiceMethod:解析方法上的注解

 

[展开全文]

动态代理就是通过反射的方式来实现需要代理的方法

[展开全文]

Retrofit build

retrofit create proxy for api interface

api method intercept by proxy

parse params whit serviceMethod

build httpcall whit params

callAdapter adapts call to T

enqueue() waiting for callback

 

 

 

[展开全文]

demo示例:https://github.com/Stay/PullRecycler

 

[展开全文]

笔记:2016-11-17

request enqueue-》 

executor (looper -》command ) -》 

http call(callback)

 

[展开全文]

今天的网速不给力,但还在坚持! 

[展开全文]

what(0做什么的 - how(如何做的) - why(为什么这么做)

 

buildRequest - requestEnqueue - executor-

http call - callback

 

 

 

 

[展开全文]