![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
框架学习
文章平均质量分 76
独饮敌敌畏丶
做自己该做的事,并接收它的事与愿违!
展开
-
RxJava原理学习
这是对RxJava设计模式以及源码的介绍原创 2022-04-30 16:14:44 · 6546 阅读 · 1 评论 -
Glide学习
文章推荐我认为对我启发最大的文章是这一篇,这篇主要是讲思想。然后源码上对我启发最大的是这一篇。除了Glide的现成方案之外,还要学习没有第三方框架的时候,Bitmap的优化方案总体逻辑...原创 2022-04-24 21:24:54 · 1262 阅读 · 2 评论 -
从0开始封装一套项目的网络请求框架
前言Android进行网络请求,一般是通过Retrofit配合RxJava来实现。需要注意的是,在项目中,是不可能直接在每一个请求的地方直接裸着用框架,而是一定在自己的项目中对框架封装了一层,实际使用的是封装的这一层。本篇文章就来介绍一种封装方案,在项目中可以使用。此方案肯定有不足的地方,还请批评指正。用到的知识Kotlin、Retrofit,RxJava,OkHttp步骤介绍1.api介绍在这里使用鸿洋大神的开放api,链接点这里。只使用登录api即可,其他的api都是一样的方式。url:原创 2022-04-21 20:37:52 · 1121 阅读 · 1 评论 -
组件化学习
组件化学习(1)思想及实现方式组件化学习(2)Arouter原理学习组件化学习(3)ARouter中的Path和Group注解原创 2021-12-02 18:00:13 · 213 阅读 · 0 评论 -
组件化学习(3)ARouter中的Path和Group注解
这里就不对ARouter进行全面分析了,而是把其思想抽象出来理解1.介绍下Group和Path在上一篇文章中也提到过,Group就是组,Path就是组里面具体的类。在ARouter的api模块中,有针对Group和Path的接口ARouterGroup和ARouterPath。如下public interface ARouterGroup { Map<String, Class<? extends ARouterPath>> getGroupMap();}ARou原创 2021-12-02 15:25:52 · 2989 阅读 · 0 评论 -
组件化学习(2)Arouter原理学习
1.Arouter原理一句话总结ARouter的原理:就像上篇文章讲到的全局Map一样,它有一个在编译期生成的路由表。虽然各模块之间没有横向依赖,但是信息传递的时候,可以通过查找路由表,找到需要通信的模块的class对象,从而进行通信。也就是说ARouter的核心就是路由表ARouter是编译期的框架既然有表,那就有表中元素的register和get。register的时机,就显得很重要了。如果是在运行时register,则用户可能会感觉到卡顿。所以,ARouter选择了在编译时期register。原创 2021-12-02 10:35:35 · 653 阅读 · 0 评论 -
组件化学习(1)思想及实现方式
1.组件化的介绍我认为组件化,就是整个项目由app外壳,若干业务组件,以及公共基础组件构成。如图所示我认为组件化最明显的特点就是:各个业务模块之间没有直接的横向依赖。意义:不相互依赖,但是可以相互交互;高度解耦;自由拆卸2.组件化的部署关于如何将项目组件化,网上有大量的学习资源,我推荐一篇文章,写的超级详细:就是这一篇文章3.组件之间的通信:当然最常用的还是阿里开源的ARouter。这个就不多介绍了,但是除了这种方式,还有其他几个比较原始的方式①使用EventBus缺点:EventBus原创 2021-12-01 10:03:20 · 1982 阅读 · 1 评论 -
Retrofit学习
rest规范rest即Representational State Transfer,翻译过来就是(资源)表现层状态转换。我说下我对这个规范的理解资源,即一个URI代表一个资源,比如是一个文本,一个图片等。表现层,即资源的表现形式,比如文本可以用txt形式表现,图片可以用jpg,png形式表现。状态转换,即将资源的状态进行转换,比如得到资源,更改资源,删除资源等,对应HTTP四个方法,即GET,POST,PUT,DELETE。它有两个非常值得注意的点,第一个就是,URI中不应该包括动词(最常见的URI原创 2021-11-07 16:15:50 · 199 阅读 · 0 评论 -
OkHttp源码解析(二)五大拦截器
一.拦截器基本介绍在前面分发器的介绍中,可以看到通过getResponseWithInterceptorChain这一个方法,就可以获得响应。这个方法里面是这样的除了两个用户可以自己添加的拦截器之外,剩下的五个是默认的拦截器。他们之间是用责任链模式连接在一起责任链模式责任链上的处理者负责处理请求,客户只需要将请求发送到责任链即可,无须关心请求的处理细节和请求的传递,所以职 责链将请求的发送者和请求的处理者解耦了。比如点个外卖,它的流程是这样的我不必关心内部是具体怎么给我做的饭,美团外卖只管提原创 2021-11-06 15:55:30 · 1651 阅读 · 0 评论 -
OKHttp源码解析(一)分发器
一.OkHttp介绍OkHttp是由Square公司贡献的一个处理网络请求的开源项目,是目前Android使用最广泛的网络框架。使用它有以下好处1.支持HTTP2.0并允许对同一主机的所有请求共享一个套接字2.通过socket连接池,减少了请求延迟3.默认通过GZip压缩数据4.响应缓存,避免了重复请求的网络5.请求失败自动重试主机的其他ip,自动重定向至于如何实现这些的,相信看完整个OkHttp的介绍,你就清楚了二.OkHttp的基本使用(以Get请求为例)引入依赖。1.首先创建O原创 2021-11-01 18:07:44 · 362 阅读 · 0 评论