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

Retrofit分析-漂亮的解耦套路(视频版) 扫二维码继续学习 二维码时效为半小时

关于Retrofit的一切都在这里了
(20 评论)

4.90元

build()

  OkHttpClient

  callbackExecutor

  callAdapter

   convertor

retrun retrofit

 

create()

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

ServiceMethod:解析方法上的注解

 

[展开全文]

1.注解的优点:方便更换HttpClient

2.

[展开全文]

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

[展开全文]

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

 

 

 

 

[展开全文]

拓展问题:如何在客户端做加解密的操作?

retrofit没有加密功能,需要我们自己拓展,我们再哪里进行拓展呢?怎么做到拓展和不影响原来的整体功能实现

[展开全文]

workflow: 工作流要记住

第一: what 

     Retrofit是什么? 

一个有类型安全的http客户端,运行在android或java上

我们知道网络请求回来都是流,我们来反序列化,这里是用各种转化器

那么我们的http请求参数怎样做?

   是用注解来描述,方法上的注解,所有的参数用一个方法注解来描述就可以的

   我们的参数是用注解来配置的,我们现在没有指定任何httpclient,所有说,retrofit要是想用urlrequest,httpclient,等等,这时,我们的上层方法注解,与具体的client无关,所以和client没有关系,即使client被换掉,我们这里也不用修改,达到耦合小

 

Executor:这里是封装的重点,

callAdapter: 是什么?

   将具体的请求转化为具体的Call

这个Call是由retrofit类自动生成,那么如何是自动生成的,是利用java动态代理来实现的

  Call:是什么

   一个方法的调用,它会返回我们的response, 其实就是我们有的数据结果,但还是没有处理的,不清楚,我们一会分析源码来说明

 

[展开全文]

Retrofit 分析:

看懂Retrofit设计模式

阅读源码的基本姿势:

what: 能做什么

    是干什么的,有什么用

how:采用什么方式实现,是什么方式实现的

why: 为什么有这样的需求,还有没有更好的方式

   分析源码,找出方案

最简单的网络请求工作流workflow

1. 我们要有一个封装的request

2. 入队请求池,让looper循环取出

3. HTTP请求(可以是各种okhttp, url 等等都可发)

4. 请求返回是byte,我们拿来各种解析流,生成你想要的什么数据类型

4. 数据结果,回调给外部

[展开全文]

Executor Looper.getMainLooper

 

ExecutorCallAdapterFactory 包含Excutor

[展开全文]

使用debug阅读yuan

[展开全文]

相关课程