深入浅出RxJava
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了深入浅出RxJava相关的知识,希望对你有一定的参考价值。
深入浅出RxJava(一:基础篇)
RxJava 到底是什么?
一个词:异步。
RxJava 好在哪?
换句话说,『同样是做异步,为什么人们用它,而不用现成的 AsyncTask / Handler / XXX / ... ?』
一个词:简洁。
RxJava 的优势也是简洁,但它的简洁的与众不同之处在于,随着程序逻辑变得越来越复杂,它依然能够保持简洁。
(一)基本使用
1, 创建一个Observable对象,直接调用Observable.create即可
- Observable<String> myObservable = Observable.create(
- new Observable.OnSubscribe<String>() {
- @Override
- public void call(Subscriber<? super String> sub) {
- sub.onNext("Hello, world!");
- sub.onCompleted();
- }
- }
- );
2, 创建一个Subscriber来处理Observable对象发出的字符串。
- Subscriber<String> mySubscriber = new Subscriber<String>() {
- @Override
- public void onNext(String s) { System.out.println(s); }
- @Override
- public void onCompleted() { }
- @Override
- public void onError(Throwable e) { }
- };
这里subscriber仅仅就是打印observable发出的字符串。
3, 通过subscribe函数就可以将我们定义的myObservable对象和mySubscriber对象关联起来,这样就完成了subscriber对observable的订阅。
(二)操作符
map: 映射, 变换, 用来把把一个事件转换为另一个事件的。
flatMap: 平滑映射, 接收一个Observable的输出作为输入,同时输出另外一个Observable。
filter: 过滤, 输出和输入相同的元素,并且会过滤掉那些不满足检查条件的。
doOnNext(): 在每次输出一个元素之前做一些额外的事情
take: 输出最多指定数量的结果。
...更多操作符请查看官方api文档.
深入原理:给 Android 开发者的 RxJava 详解
以上是关于深入浅出RxJava的主要内容,如果未能解决你的问题,请参考以下文章