安卓学习笔记(一)-RxJava

1.RxJava可以说就是一个实现异步操作的库,好处就是可通过链式调用使代码更加简洁明白。引用扔物线大神RxJava详解

2.RxJava基本实现

    1)创建Observable,可通过Observable.create()、Observable.just()、Observable.fromArray()等

    2)创建 Observer,可通过new创建出implements Observer的实现类

    3)Subscribe (订阅),创建了 Observable 和 Observer 之后,再用 Observable.subscribe(Observer) 方法将它们联结起来,整条链子就可以工作了。

安卓学习笔记(一)-RxJava_第1张图片
Observable.subscribe(Observer)

    4)Scheduler -线程控制器,比如我们需要在代码中做耗时操作时(读写文件、读写数据库、网络信息交互等),就得放在子线程中。subscribeOn() 简单来说就是指定Observable产生的线程,observeOn() 简单来说就是指定Observer事件消费线程

安卓学习笔记(一)-RxJava_第2张图片
subscribeOn()和 observeOn() 

    5)转换-RxJava的强大之处将事件序列中的对象或整个序列进行加工处理,转换成不同的事件或事件序列。
        1.map()

安卓学习笔记(一)-RxJava_第3张图片
map操作符简单使用例子

       2.flatMap() :可用于嵌套的网络请求

安卓学习笔记(一)-RxJava_第4张图片
通过flatMap把字符串转换成Integer,加工后再以 Observable发射出去

        3.doOnSubscribe()和doFinally() :doOnSubscribe()在Observable事件发送前执行,可用于执行dialog,ProgressBar 可指定执行线subscribeOn(AndroidSchedulers.mainThread())。doFinally() 在Observer消费事件之前执行,可用于隐藏dialog,ProgressBar 可指定执行线程observeOn(AndroidSchedulers.mainThread())。

安卓学习笔记(一)-RxJava_第5张图片
用 doOnSubscribe()和doFinally()来显示隐藏dialog

        4.更多操作符使用RxJava常用操作符

你可能感兴趣的:(安卓学习笔记(一)-RxJava)