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

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

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

1.00元

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

[展开全文]

1:new OkHttpClient

2:callbackExecutor

3:CallAdapter

4:Callback回调

5:json反序列

[展开全文]

相关课程