【开源框架源码解析】
没有鱼了
https://developer.android.google.cn/
https://www.androiddevtools.cn/
展开
-
OKHttp3--详细使用及源码分析系列之初步介绍【一】
说OHHttp是当下Android使用最频繁的网络请求框架应该是不过分的,是由Square公司贡献的一款开源工程;用于替代之前的HttpURLConnection(Google在Android4.4以后开始将源码中的HttpURLConnection替换成了OKHttp,但是HttpURLConnection的API还是在的,可以继续使用)和HttpClient(Google已经在Android6.0以后移除了HttpClient相关的API,已经不能继续使用);同时现在流行的Retrofit框架底层同样是原创 2018-09-05 09:34:28 · 1229 阅读 · 0 评论 -
通过ConnectInterceptor源码掌握OKHttp3网络连接原理 呕心沥血第十弹【十】
ConnectInterceptor前言连接拦截器Http协议发展OKHttp创新前言没想到离上篇OKHttp3源码分析文章已经过去了3个月,中间忙着写其它知识点了,这次准备把OKHttp这个系列结束掉;今天这篇文章来谈谈拦截器链中的第四个拦截器,即连接拦截器,这是OKHttp中非常重要的一个拦截器,值得重视连接拦截器这个拦截器类的源码很简单,只有数十行,如下 @Override ...原创 2019-07-05 15:58:13 · 2020 阅读 · 2 评论 -
OKHttp3-- 请求服务器拦截器CallServerInterceptor源码分析 【十一】
这篇文章将对OKHttp最后一个拦截器进行解析,总算快要结束了;上一篇文章讲到连接拦截器,即客户端已经与服务端进行了连接,那接下来的操作自然就是发送接收数据了,看看官网的注释> 这是拦截器链上的最后一个拦截器,向服务器发起网络访问那接下来就从源码看看它是如何实现发送请求数据,接收响应数据的原创 2019-07-14 16:41:07 · 1294 阅读 · 1 评论 -
OKHttp3-- HTTP缓存机制解析 缓存处理类Cache和缓存策略类CacheStrategy源码分析 【九】
OKHttp提供了缓存机制以将我们的的HTTP和HTTPS请求的响应缓存到文件系统中,但是它默认是不使用缓存的,所以如果我们需要使用缓存(强烈推荐使用),就得在实例化OKHttpClient的时候进行相关的配置原创 2019-03-16 16:28:03 · 3042 阅读 · 0 评论 -
OKHttp3--桥接拦截器BridgeInterceptor源码解析及相关http请求头字段解析【七】
其实从名字我们大概能猜到一些奥妙,Bridge中文意思即桥梁,连接的意思,那在这里其实就是连接应用程序和服务器的桥梁,我们发出的请求将会经过它的处理才能成为一个服务器能识别的网络请求;所以它的具体作用就是在真正进行网络请求前对我们的请求头做一些设置,比如设置请求内容长度,编码,gzip压缩,cookie等,获取响应后为响应添加一些响应头信息原创 2019-02-20 22:25:55 · 1612 阅读 · 2 评论 -
OKHttp3--缓存拦截器CacheInterceptor源码解析【八】
缓存拦截器大致工作过程:首先获取到缓存,如果存在的话,然后根据缓存策略判断在不能使用网络情况下:如果也不能使用缓存就构建一个携带504响应码的响应返回,如果可以使用缓存就返回缓存的响应。如果可以访问网络就通过网络获取响应,如果以前有缓存并且没失效就通过缓存构建响应返回,否则就直接通过网络构建响应。如果使用了缓存机制还需将响应对象保存到缓存中原创 2019-03-01 09:04:34 · 1740 阅读 · 6 评论 -
OKHttp3--调用对象RealCall源码解析【四】
当我们封装好Request后需要执行这个请求,但是OKHttp并不是直接执行Request,而是将Request又封装了一层为Call对象,方便开发者对请求进行处理;一个Call对象代表一个已准备好执行的请求(Request),Call可以取消,同时一个Call对象代表了一个request/response 对(Stream),因此一个Call无法被执行两次原创 2019-02-15 09:10:50 · 2139 阅读 · 0 评论 -
OKHttp3--重试及重定向拦截器RetryAndFollowUpInterceptor源码解析【六】
请求失败后重新尝试连接:从Retry这个单词理解,但是在OKHttp中并不是所有的请求失败后(即返回码不是200)都会去重新连接,而是在发生 RouteException 或者 IOException 后再根据一些策略进行一些判断,如果可以恢复,就重新进请求继续请求:FollowUp本意是跟进的意思,主要有以下几种类型可以继续发起请求 * 407/401:未进行身份认证,需要对请求头进行处理后再发起新的请求 * 408:客户端请求超时,如果 Request 的请求体没有被 Unrepeatab原创 2019-02-17 21:30:23 · 3997 阅读 · 2 评论 -
OKHttp3--拦截器链RealInterceptorChain源码解析【五】
其实听这个名字我们也大概直到拦截器的意思,在OKHttp中,我们发出的HTTP请求并不是直接就连接到服务器然后获取结果,而是由OKHttp中的拦截器截获我们发出的请求,它可以观察,修改并可能使请求中断,然后返回结果,通常情况下,拦截器会对request或者response的头部headers进行添加,删除,转换操作总而言之,拦截器是OKHttp提供的一种强大机制,它可以实现网络监听,请求以及响应重写,失败重连等功能原创 2019-02-16 21:38:52 · 3078 阅读 · 0 评论 -
OKHttp3--Dispatcher分发器实现同步异步请求源码解析【三】
在OKHttp中Dispatcher就是用来保存并管理用户产生的同步请求(RealCall)和异步请求(AsyncCall),并负责执行AsyncCall原创 2019-01-28 19:29:11 · 1908 阅读 · 0 评论 -
OKHttp3--流程分析 核心类介绍 同步异步请求源码分析【二】
OKHTTP对于Android开发者的重要性可以说是不言而喻了,这里我采用的阅读源码方法是根据使用方法顺藤摸瓜查看源码和阅读几个重点类的相结合的方法去理解OKHTTP,我认为结合使用情况去阅读更能有代入感,更能加深理解,同时选择几个关键类辅助更能帮我们理解整体框架原创 2019-01-27 19:26:09 · 1317 阅读 · 2 评论 -
Android App如何借助OKHttp使用WebSocket实现与服务器实时双向通信【十二】
WebSocket作为一种解决web应用双向通信的协议由HTML5规范引出,是一种建立在TCP协议基础上的全双工通信的协议。它是一个应用层协议,它出现是为了解决HTTP的痛点,希望在服务器与浏览器之间建立一条不受限制的双向通信的通道原创 2019-07-23 21:42:07 · 14057 阅读 · 1 评论