Retrofit使用入门
Retrofit使用入门每当深入学习一个优秀的开源框架前,先了解它是干什么,怎么用。从最基本的使用开始,不断探索深处的实现原理。用OkHttp作了铺垫,顺理成章的该学一下移动开发中另一个热门框架:Retrofit。 1、Retrofit简介Retrofit和OkHttp都出自大名鼎鼎的Square公司。算是亲兄弟了,OkHttp是哥哥,Retrofit是弟弟。关于OkHttp前段时间已经从头到尾看
加入于 2019-10-06
不忘初心的阿甘
598
文章
41
评论
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