
Retrofit注解详细探究
Retrofit注解详细探究在Retrofit使用入门一文中,了解了Retrofit的基本使用。现在继续深挖Retrofit的核心:注解,Retrofit通过注解的方式将HTTP网络请求转换成Java接口。当前使用的Retrofit版本是2.9.0,这个版本共有25个注解。按照注解作用的地方可以分为两类:一类是方法注解(METHOD),作用在方法上。一类是参数注解(PARAMETER),用在方法的
2026年以前手搓博客一千多篇。如今 Claw、Cursor、Claude 等 AI Agent 横空出世。只需一句话,AI 就能生成文章、调整格式、润色语言,并一键自动发布。欢迎来到 AI 驱动博客时代 🚀

Retrofit注解详细探究在Retrofit使用入门一文中,了解了Retrofit的基本使用。现在继续深挖Retrofit的核心:注解,Retrofit通过注解的方式将HTTP网络请求转换成Java接口。当前使用的Retrofit版本是2.9.0,这个版本共有25个注解。按照注解作用的地方可以分为两类:一类是方法注解(METHOD),作用在方法上。一类是参数注解(PARAMETER),用在方法的
Retrofit使用入门每当深入学习一个优秀的开源框架前,先了解它是干什么,怎么用。从最基本的使用开始,不断探索深处的实现原理。用OkHttp作了铺垫,顺理成章的该学一下移动开发中另一个热门框架:Retrofit。 1、Retrofit简介Retrofit和OkHttp都出自大名鼎鼎的Square公司。算是亲兄弟了,OkHttp是哥哥,Retrofit是弟弟。关于OkHttp前段时间已经从头到尾看

代码统计工具SourceCounter电脑角落里翻到一个小工具:SourceCounter,还是用来统计代码的。之前也推荐过代码统计的方式:代码统计插件 Statistic、Git统计提交代码数据。。。为什么这么多代码统计的路子?因为印象深刻。思绪一下回到三年前:初生牛犊第一次面试,面试官问:“写过多少行代码?”。对代码量没有概念,回答到:“没数过”,然后就回去等消息了。1、介绍SourceCou
OkHttp线程池和连接池了解了OkHttp的网络请求流程以及拦截器实现原理,再关注OkHttp中两个重要的:OkHttp的线程池和连接池。1、OkHttp线程池在OkHttp网络请求流程一文中,我们分析了OkHttp异步和同步请求流程。请求最后都在Dispatcher中分发调度处理,最后被ExecutorService执行。1.1、DispatcherDispatcher中执行任务的执行器是ex

OkHttp拦截器Interceptor接着OkHttp网络请求流程一文,我们知道OkHttp网络请求最后是通过RealCall的getResponseWithInterceptorChain()方法完成。该方法完整实现如下:1、拦截链OkHttp的核心就是拦截器,通过一组拦截器“递归”的完成网络请求中各个环节的处理。1.1、Interceptors责任链在getResponseWithInter

OkHttp网络请求流程经过前面多篇博客的铺垫,终于来了。让我们继续深入OkHttp源码,了解OkHttp网络请求的实现。在OkHttp的基本用法一文中我们了解到,拿到Call实例后,有两种网络请求:异步和同步。1、异步请求从Call的enqueue(responseCallback: Callback)方法开始:从OkHttpClient调用newCall(Request)方法获取Call实例,

OkHttp之Headers请求头前面看了请求Request和请求体RequestBody类实现源码,最后我们来看看请求头Headers。Headers是HTTP请求和相应的头部所包含的信息:MIME、日期、缓存、Cookie等。1、HeadersOkHttp设计的Headers类结构如下,让我们仔细看看其中的实现。1.1、核心成员Headers类内部并没有用两个数组分别维护请求头中的name和v

OkHttp之RequestBody请求体继OkHttp之Request请求一文,看完Request类,内部存储了和请求相关的数据,并没有什么复杂的逻辑。接着看看RequestBody类内部实现是怎样的。1、RequestBodyRequestBody是抽象类。1.1、两个抽象方法有两个抽象方法contentType()和writeTo(sink: BufferedSink)。需要具体的Reque

OkHttp之Request请求了解了OkHttp的基本用法,不急着分析OkHttp网络请求流程。先熟悉一遍源码,了解请求相关的几个类:请求Request、请求体RequestBody以及请求头Headers。阅读源码,一方面搞懂内部实现,遇到坑可以知道在哪。另一方面,吸取代码设计经验,设计模式不是纸上谈兵。1、Request先看Request源码,熟悉Request请求的设计。1.1、请求核心成

RESTful 统一接口REST全称Representational State Transfer,中文意思是表述性状态转移,第一次出现在Roy Fielding的博士论文中。原文已找到,前往膜拜:Representational State Transfer。1、REST指导原则REST是一组体系结构约束,不是协议或标准。服务端API需要符合以下条件才能被认为是RESTful。参考Guiding
OkHttp的基本用法看完Google官方的网络通信库Volley,再继续学习Android开发中大名鼎鼎的网络请求框架:OkHttp。深入学习一个优秀的框架之前,先了解它的基本用法,由浅入深,逐步探索。本篇简要介绍一下OkHttp的使用,关于拦截器详见OkHttp拦截器Interceptor。1、OkHttpOkHttp是Square公司开源的网络请求框架,Android开发中另一个网络请求框架

翻译插件Translation看源码的时候遇到专业词汇不认识咋办?打开浏览器Google翻译?不,这太低效。推荐一个翻译插件:Translation,支持多语言互译、文档翻译、语音朗读... 让开发者阅读源码注释畅行无阻。1、安装Translation打开File > Settings > Plugins选项搜索Translation,安装插件。作者将这个插件开源:YiiGuxing/Transl

了解媒体类型MIME开发中会遇到指定数据MIME类型的场景:网络传输数据内容的类型Content-Type、网络请求RequestBody中数据的MediaType、安卓媒体库MediaFormat中定的MediaType、Intent设置数据和数据类型setDataAndType()。那么什么是MIME?1、关于MIME它的英文全称是Multipurpose Internet Mail Exte

专业的流程图制作软件:迅捷流程图推荐一个绘图软件:迅捷画图。是上海互盾信息科技有限公司开发的一款国产绘图软件,值得大家支持。迅捷画图在绘图方面的能力要比WPS自带的画图要专业的多。支持在线创作流程图、在线制作思维导图、组织结构图、ER图、网络拓扑图等。而且是在线作图,非常方便快捷,随时保存到云端不怕丢失。官网:迅捷画图-专业的在线作图网站1、简单易用的界面专注画图,界面专业程度不亚于Visio,小

Volley网络图片加载控件NetworkImageView在Volley图片加载ImageLoader一文中了解了使用ImageLoader进行图片加载的原理。还有更简单的网络图片加载,在Volley加载网络图片一文第3节提到NetworkImageView,继承自ImageView通过简短的200行代码,结合ImageLoader实现一个简单易用的图片加载控件。让我们通过源码了解Network

DecorView添加到Window的流程在Activity的组成结构一文中,了解了Activity的组成,内部持有Window实例,再由这个Window管理布局。Activity中的Window何时被创建并被添加到Activity中的呢?DecorView是如何被加载到Window中的。1、Window的创建在Activity启动流程全新版本一文中,详细捋清了Activity的启动流程。顺着继续

Volley图片加载ImageLoader在Volley加载网络图片中了解到使用ImageLoader进行加载图片,本文来看看ImageLoader源码如何结合RequestQueue实现网络图片加载的。源码分两部分看,一部分是从ImageLoader的get(...)方法开启图片加载请求,另一部分是NetworkDispatcher的网络请求结果回调。1、图片加载请求总体的请求逻辑如下,大部分代