# Retrofit源码分析
## 一、整体流程
| 步骤 | 描述 |
| :---: | :--- |
| 步骤一 | 导入Retrofit库 |
| 步骤二 | 创建Retrofit实例 |
| 步骤三 | 创建接口定义API接口 |
| 步骤四 | 创建接口的实现类 |
| 步骤五 | 发起网络请求 |
## 二、详细步骤
### 步骤一:导入Retrofit库
在项目的`bui            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-05-24 10:16:14
                            
                                8阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            作者:liyihuanx梳理retrofit源码时做的一些记录,但也是挺久之前写的东西呢,感觉分析的不够流畅,跳跃性比较大当时是带着这几个问题去看源码的1.整个请求的流程是怎样的?2.底层是如何用 OkHttp 请求的?3.Okhttp是异步的,retrofit是怎么帮我们切换到主线程的?4.注解是什么时候解析的,怎么解析的?5.Converter和CallAdapter的作用?6.如何支持 Kotlin协程的suspend挂起函数的?Retrofit的简单流程图根据流程图进入,首.            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2022-03-04 09:32:07
                            
                                269阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            1:用法: public interface ZhuangbiApi { @GET("search") Observable<List<ZhuangbiImage>> search(@Query("q") String query); } public interface ZhuangbiApi { ...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-08-20 09:22:00
                            
                                162阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            资料Android:手把手带你 深入读懂 Retrofit 2.0 源码Retrofit源码分析之Request生成            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-06-04 22:00:58
                            
                                64阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            作者简介这是我一个朋友的分享,本文旨在模拟Retrofit的源码作者:小泉同学博客地址:http://www.jianshu.com/u/fcaaa3ad5c8e让我们开始吧如果要进行网络请求,你可能会这样写一个简单的OKHttp请求publicclassCallExector{publicstaticfinalMediaTypeJSON=MediaType.parse("application/            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-02-28 18:36:34
                            
                                239阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            今天来分析Retrofit2的源码。(2.3版本)这里使用了一个关于获取github的用户信息的示例,源码在:示例源码展示首先要知道Retrofit是通过动态代理的方式创建各种网络接口的代理。至于动态代理这里就不做阐述了。我们通过其使用流程来观察其代码的使用:1、创建Retrofit对象Retrofit的使用从创建Retrofit对象开始:Retrofit.Builder buil...            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-07-15 12:08:05
                            
                                211阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Retrofit源码分析Retrofit简介是Square公司基于Okhttp封装的一款网络开源框架,简化了对网络的请求。以下基于Retrofit2.1.0版本的分析Retrofit使用定义接口请求参数public interface ApiService {
    @GET("app/{volumeId}/updateDefaultVolume")
    Call<ResponseB            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-07-12 13:01:10
                            
                                20阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            背景Invalidate() 是 Android 中 View 的方法,通常我们使用它来完成UI的刷新,作用如果这个 View 可见那么 onDraw() 方法将在未来某个时间点被调用。问题invalidate() 会触发那些 view 的重绘,invalidate() 绘制流程是如何实现的?我们带着问题来从源码开始分析:源码分析一、View 与 ViewGroup 的层级在 Android 中            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-04 22:48:59
                            
                                74阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Retrofit2.0源码解析Retrofit简介与Okhttp的区别Retrofit的使用流程:创建Retrofit实例源码解析Retrofit类Builder类BaseUrl方法GsonConverterFactory.create()方法addConverterFactory()方法build()方法总结创建网络请求接口的实例源码解析retrofit.create(xxx.class)方法            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-17 14:27:44
                            
                                45阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            文章目录1、简介2、Retrofit 配置与基本用法2.1 依赖引入与配置2.2 基本用法3、Retrofit 的注解3.1 请求方法注解3.2 请求头注解3.3 请求参数注解3.4 请求和响应格式(标记)注解4、Retrofit 注解的配合使用4.1 @GET 使用4.2 @GET、@Query 使用4.3 @GET、@QueryMap 使用4.4 @POST 使用4.5 @POST、@For            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-11-07 00:18:44
                            
                                57阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            Thread,Handler,Looper三个重量级对象是如何绑定到一起的,以及消息是如何在Handler和Looper中存在和传播的。
    一、前言  源码分析使用的版本是 4.4.2_r1。  Handler和Looper的入门知识以及讲解可以参考我的另外一篇博客:Android Handler机制  简单而言:Handler和Looper是对            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-12 00:50:04
                            
                                79阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            本篇文章中介绍了Retrofit的动态代理实现、方法注解解析等等内容,后续的文章还会继续介绍方法参数和            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-07-26 10:09:07
                            
                                31阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            关于Retrofit是啥,这里就不多解释了,还是先来瞅下官网: 而这次主要是了解它的底层动作机制,而在了解底层之前先来回顾一下官网的整体使用步骤: 咱们也以官网的这个例子为例,先从简单的使用开始逐步深入,先新建一个工程: 然后增加retrofit的build引用 ,如下: 然后按官网的步骤,首先创建            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2019-03-09 17:52:00
                            
                                49阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            本文将顺着构建请求对象→构建请求接口→发起同步/异步请求的流程,分析retrofit2是如何实现的。 组成部分 Retrofit2源码主要分为以下几个部分: retrofit retrofit-adapters retrofit-converters 本篇先分析retrofit部分,也就是retro            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2016-05-31 12:55:00
                            
                                137阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            今天以Retrofit官方实现的和源码分析让大家了解如何自定义一个优秀的和,如果大家自己对别的或者感兴趣,自己也可以去看看他们的实现。            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-07-25 13:55:11
                            
                                33阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            OkHttpCall也就是Retrofit中对Http请求的核心封装,默认的的实现也是直接返回OkHttpCall当Call的实现。像其他的任务封装,例如RxJav            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-07-25 13:56:24
                            
                                62阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            终于看完了方法参数解析的代码,很多的代码都是一些模版代码,阅读起来很简单,到这里的代码也就分析完了,也就是Request的解析,计划都是空谈。            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-07-26 10:07:47
                            
                                40阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            在使用了Retrofit之后,你是否会有这样的疑问:1、为什么有OkHttp这么强大的网络框架了,Retrofit还能脱颖而出?2、Retrofit是怎么适配第三方框架的?3、Retrofit用了哪些设计模式?4、Retrofit为什么好用?下面我们就来探索Retrofit的真面目吧            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-09-24 14:50:13
                            
                                245阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            在使用了Retrofit之后,你是否会有这样的疑问:1、为什么有OkHttp这么强大的网络框架了,Retrofit还能脱颖而出?            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2022-04-18 16:13:32
                            
                                148阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            阅读此文前请先阅读Retrofit+okhttp网络框架介绍从上文            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2022-11-15 19:06:55
                            
                                93阅读
                            
                                                                             
                 
                
                                
                    