|
| 1 | +> CSDN学院课程地址 |
| 2 | +> * RxJava2从入门到精通-初级篇:https://edu.csdn.net/course/detail/10036 |
| 3 | +> * RxJava2从入门到精通-中级篇:https://edu.csdn.net/course/detail/10037 |
| 4 | +> * RxJava2从入门到精通-进阶篇:https://edu.csdn.net/course/detail/10038 |
| 5 | +> * RxJava2从入门到精通-源码分析篇:https://edu.csdn.net/course/detail/10138 |
| 6 | +
|
| 7 | +## 导言 |
| 8 | + |
| 9 | +RxJava在工作中和面试中已经成为各个项目开发的必选框架,掌握这门框架的使用是尤其重要的。文章将从0开始进行入门教学,参考工作中开发实战需求,对基础概念和实战例子进行讲解。即使您没有学过RxJava也能通过这篇文章快速入门,并快速掌握RxJava在实战中的应用。项目中的代码都会通过Github的形式对外公布。欢迎加入读者聊天群:497863347 |
| 10 | + |
| 11 | +## 适合人群 |
| 12 | + |
| 13 | +本篇文章适合所有初中级工程师,文章会从RxJava的每个知识点进行讲解,并在每个知识点中都带有文字说明和代码例子说明。通过这次系统化的学习,您将可以完整的学习到RxJava家族的所有特性和常用的操作符,掌握操作符的使用,掌握RxJava与Rx其他第三方库的使用。此次文章的写作目的可以用三句简单的话进行概括 |
| 14 | + |
| 15 | +``` |
| 16 | +面试加分利器 = 加大录取机会 |
| 17 | +加快工作效率 = 早点下班回家 |
| 18 | +系统化的学习 = 能力全面提升 |
| 19 | +``` |
| 20 | + |
| 21 | +## RxJava的特性 |
| 22 | + |
| 23 | +说到RxJava,相信诸多Android开发者都不会陌生。作为一个知名的响应式编程库,从2016年开始逐渐变得火热,从小众到被众多Android开发者们广泛引入与流传,其在GitHub的仓库已经有33.9k的star。期间也有很多大牛专门为Android写了RxJava的适配库,如:RxAndroid、RxBinding、RxLifecycle等等 |
| 24 | + |
| 25 | +* 特性一,异步。RxJava是基于异步操作的框架,常用的应用场景有网络访问、数据解析等 |
| 26 | +* 特性二,链式操作。RxJava提供了当前最主流的链式编程,其方式类似于构建者模式 |
| 27 | +* 特性三,线程切换。RxJava提供了线程切换的功能,可以任意的在UI线程和工作线程中切换 |
| 28 | +* 特性四,丰富的操作符。RxJava提供了丰富的操作符,简化了我们对方法或数据的操作 |
| 29 | +* 特性五,背压策略。RxJava针对网络访问的高并发性,提供了背压的策略进行处理 |
| 30 | + |
| 31 | +## 文章目录 |
| 32 | + |
| 33 | +RxJava2从入门到精通-初级篇 |
| 34 | + |
| 35 | +目的:掌握RxJava2,认知基础概念以及基础用法 |
| 36 | + |
| 37 | +``` |
| 38 | +1. 基础概念 |
| 39 | + 1.1 RxJava简述 |
| 40 | + 1.2 RxAndroid简述 |
| 41 | + 1.3 设计模式中的观察者模式 |
| 42 | + 1.4 RxJava中的观察者模式 |
| 43 | + 1.5 小结 |
| 44 | +2. RxJava基本使用 |
| 45 | + 2.1 事件发射 |
| 46 | + 2.2 链式调用 |
| 47 | + 2.3 选择调用 |
| 48 | + 2.4 线程切换 |
| 49 | + 2.5 线程调度器 |
| 50 | + 2.6 事件调度器 |
| 51 | + 2.7 "冷"与"热" |
| 52 | + 2.8 小结 |
| 53 | +3. RxJava操作符 |
| 54 | + 3.1 Creating Observables (创建操作符) |
| 55 | + 3.2 Transforming Observables (转换操作符) |
| 56 | + 3.3 Filtering Observables (过滤操作符) |
| 57 | + 3.4 Combining Observables (组合操作符) |
| 58 | + 3.5 Error Handling Operators(错误处理操作符) |
| 59 | + 3.6 Observable Utility Operators(辅助性操作符) |
| 60 | + 3.7 Conditional and Boolean Operators(条件和布尔操作符) |
| 61 | + 3.8 Mathematical and Aggregate Operators(数学运算及聚合操作符) |
| 62 | + 3.9 Connectable Observable(连接操作符) |
| 63 | +``` |
| 64 | + |
| 65 | +RxJava2从入门到精通-中级篇 |
| 66 | + |
| 67 | +目的:熟悉RxJava2,实际联系理论,提高实战性 |
| 68 | + |
| 69 | +``` |
| 70 | +4. RxJava基本响应类型 |
| 71 | + 4.1 Observable |
| 72 | + 4.2 Flowable |
| 73 | + 4.3 Single |
| 74 | + 4.4 Completable |
| 75 | + 4.5 Maybe |
| 76 | + 4.6 小结 |
| 77 | +5. RxJava背压策略(BackpressureStrategy) |
| 78 | + 5.1 背压是什么 |
| 79 | + 5.2 MISSING |
| 80 | + 5.3 ERROR |
| 81 | + 5.4 BUFFER |
| 82 | + 5.5 DROP |
| 83 | + 5.6 LATEST |
| 84 | + 5.7 小结 |
| 85 | +6. RxJava基础实战 |
| 86 | + 6.1 模拟发送验证码 |
| 87 | + 6.2 模拟用户点击防抖动 |
| 88 | + 6.3 模拟会员信息的合并 |
| 89 | +``` |
| 90 | + |
| 91 | +RxJava2从入门到精通-进阶篇 |
| 92 | + |
| 93 | +目的:熟悉RxJava2,在实战过程中与第三方框架进行混合使用 |
| 94 | + |
| 95 | +``` |
| 96 | +7. RxJava高级用法(一) |
| 97 | + 7.1 自定义Operator |
| 98 | + 7.2 自定义Transformer |
| 99 | + 7.3 自定义Plugin |
| 100 | +8. RxJava高级用法(二) |
| 101 | + 8.1 Subject的介绍 |
| 102 | + 8.2 PublishSubject |
| 103 | + 8.3 BehaviorSubject |
| 104 | + 8.4 ReplaySubject |
| 105 | + 8.5 AsyncSubject |
| 106 | + 8.6 转发数据 |
| 107 | + 8.7 小结 |
| 108 | +9. RxJava混合实战 |
| 109 | + 9.1 RxJava与Retrofit |
| 110 | + 9.2 RxJava与RxBinding |
| 111 | + 9.3 RxJava与RxLifecycle |
| 112 | + 9.4 RxJava与Mvp |
| 113 | + 9.5 小结 |
| 114 | +``` |
| 115 | + |
| 116 | +RxJava2从入门到精通-源码分析篇 |
| 117 | + |
| 118 | +目的:精通RxJava2,在运用过程中能通过源码去定位问题和查找问题 |
| 119 | + |
| 120 | +``` |
| 121 | +10. RxJava源码分析 |
| 122 | + 10.1 RxJava的事件发射原理 |
| 123 | + 10.2 RxJava的事件释放原理 |
| 124 | + 10.3 RxJava的背压原理 |
| 125 | + 10.4 RxJava的常规操作符原理 |
| 126 | + 10.5 RxJava的线程切换原理 |
| 127 | + 10.6 RxJava的自定义Operator原理 |
| 128 | + 10.7 RxJava的自定义Transformer原理 |
| 129 | + 10.8 RxJava的自定义Plugin原理 |
| 130 | + 10.9 美团WhiteBoard |
| 131 | +``` |
| 132 | + |
| 133 | +## 文章传送门 |
| 134 | + |
| 135 | +* [0章 RxJava2课程目录介绍](https://blog.csdn.net/qq_30379689/article/details/83389064) |
| 136 | +* [1章 基础概念](https://blog.csdn.net/qq_30379689/article/details/84257466) |
| 137 | +* [2章 RxJava基本使用](https://blog.csdn.net/qq_30379689/article/details/84257659) |
| 138 | +* [3章 RxJava操作符](https://blog.csdn.net/qq_30379689/article/details/84875234) |
| 139 | +* [4章 RxJava基本响应类型](https://blog.csdn.net/qq_30379689/article/details/84875244) |
| 140 | +* [5章 RxJava背压策略](https://blog.csdn.net/qq_30379689/article/details/84875258) |
| 141 | +* [6章 RxJava基础实战](https://blog.csdn.net/qq_30379689/article/details/85019426) |
| 142 | +* [7章 RxJava高级用法(一)](https://blog.csdn.net/qq_30379689/article/details/85019432) |
| 143 | +* [8章 RxJava高级用法(二)](https://blog.csdn.net/qq_30379689/article/details/85019439) |
| 144 | +* [9章 RxJava混合实战](https://blog.csdn.net/qq_30379689/article/details/85294047) |
| 145 | +* [10章 RxJava源码分析](https://blog.csdn.net/qq_30379689/article/details/86584493) |
0 commit comments