Skip to content

Commit e019eb1

Browse files
committed
add rxjava part
1 parent 954f137 commit e019eb1

7 files changed

+1577
-10
lines changed
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
RxJava详解()
1+
RxJava详解()
22
===
33

44
年初的时候就想学习下`RxJava`然后写一些`RxJava`的教程,无奈发现已经年底了,然而我还么有写。今天有点时间,特别是发布了`RxJava 2.0`后,我决定动笔开始。
@@ -723,7 +723,7 @@ Observable.create(new ObservableOnSubscribe<Response>() {
723723

724724

725725

726-
更多内容请看下一篇文章[RxJava详解()][1]
726+
更多内容请看下一篇文章[RxJava详解()][1]
727727

728728
参考:
729729

@@ -735,7 +735,7 @@ Observable.create(new ObservableOnSubscribe<Response>() {
735735
- [Google Agera 从入门到放弃](http://blog.chengyunfeng.com/?p=984)
736736

737737

738-
[1]: https://github.com/CharonChui/AndroidNote/blob/master/RxJavaPart/RxJava%E8%AF%A6%E8%A7%A3(%E4%B8%AD).md "RxJava详解()"
738+
[1]: https://github.com/CharonChui/AndroidNote/blob/master/RxJavaPart/RxJava%E8%AF%A6%E8%A7%A3(%E4%B8%AD).md "RxJava详解()"
739739

740740
---
741741

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
RxJava详解()
1+
RxJava详解()
22
===
33

44

@@ -986,7 +986,8 @@ Observable.from(folders)
986986

987987
那位说话了:『你这代码明明变多了啊!简洁个毛啊!』大兄弟你消消气,我说的是逻辑的简洁,不是单纯的代码量少(逻辑简洁才是提升读写代码速度的必杀技对不?)。观察一下你会发现, `RxJava`的这个实现,是一条从上到下的链式调用,没有任何嵌套,这在逻辑的简洁性上是具有优势的。当需求变得复杂时,这种优势将更加明显(试想如果还要求只选取前`10`张图片,常规方式要怎么办?如果有更多这样那样的要求呢?再试想,在这一大堆需求实现完两个月之后需要改功能,当你翻回这里看到自己当初写下的那一片迷之缩进,你能保证自己将迅速看懂,而不是对着代码重新捋一遍思路?)。
988988

989-
更多内容请看下一篇文章[RxJava详解(下)][1]
989+
更多内容请看下一篇文章[RxJava详解(三)][1]
990+
990991

991992
参考:
992993

@@ -997,7 +998,7 @@ Observable.from(folders)
997998
- [给 Android 开发者的 RxJava 详解](http://gank.io/post/560e15be2dca930e00da1083)
998999
- [Google Agera 从入门到放弃](http://blog.chengyunfeng.com/?p=984)
9991000

1000-
[1]: https://github.com/CharonChui/AndroidNote/blob/master/RxJavaPart/RxJava%E8%AF%A6%E8%A7%A3(%E4%B8%8B).md "RxJava详解()"
1001+
[1]: https://github.com/CharonChui/AndroidNote/blob/master/RxJavaPart/RxJava%E8%AF%A6%E8%A7%A3(%E4%B8%8B).md "RxJava详解()"
10011002

10021003
---
10031004

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
RxJava详解()
1+
RxJava详解()
22
===
33

44
变换的原理`lift()`
55
---
66

77
这些变换虽然功能各有不同,但实质上都是针对事件序列的处理和再发送。而在`RxJava`的内部,它们是基于同一个基础的变换方法:`lift()`
88

9-
首先看一下`lift()` 的内部实现(仅核心代码):
9+
首先看一下`lift()` 的内部实现(仅核心代码):
1010

1111
```java
1212
// 注意:这不是 lift() 的源码,而是将源码中与性能、兼容性、扩展性有关的代码剔除后的核心代码。
@@ -22,8 +22,7 @@ public <R> Observable<R> lift(Operator<? extends R, ? super T> operator) {
2222
}
2323
```
2424

25-
这段代码很有意思:它生成了一个新的`Observable`并返回,而且创建新`Observable`所用的参数`OnSubscribe的回调方法`call()`中的实现竟然看起来和前面讲过的`Observable.subscribe()`一样!然而它们并不一样哟~不一样的地方关键就在于第二行`onSubscribe.call(subscriber)`中的`onSubscribe` 所指代的对象不同(高能预警:接下来的几句话可能会导致身体的严重不适)
26-
25+
这段代码很有意思:它生成了一个新的`Observable`并返回,而且创建新`Observable`所用的参数`OnSubscribe的回调方法`call()`中的实现竟然看起来和前面讲过的`Observable.subscribe()`一样!然而它们并不一样哟~不一样的地方关键就在于第二行`onSubscribe.call(subscriber)`中的`onSubscribe` 所指代的对象不同
2726
- `subscribe()`中这句话的`onSubscribe`指的是`Observable`中的`onSubscribe`对象,这个没有问题,但是`lift()`之后的情况就复杂了点。
2827
- 当含有`lift()`时:
2928
- `lift()`创建了一个`Observable`后,加上之前的原始`Observable`,已经有两个`Observable`了;
@@ -174,6 +173,12 @@ Observable.create(onSubscribe)
174173
[What's different in 2.0](https://github.com/ReactiveX/RxJava/wiki/What's-different-in-2.0)
175174

176175

176+
更多内容请看下一篇文章[RxJava详解(四)][1]
177+
178+
179+
[1]: https://github.com/CharonChui/AndroidNote/blob/master/RxJavaPart/RxJava%E8%AF%A6%E8%A7%A3(%E4%B8%AD).md "RxJava详解(四)"
180+
181+
177182
Agera
178183
---
179184

0 commit comments

Comments
 (0)