RxJava响应式编程框架设计(一)

RxJava
1、RxJava是什么?
一个可观测的序列来组成异步的,基于事件的程序的库。  简单来说,它就是一个实现异步操作的库。
具体可去github查看源码:https://github.com/ReactiveX/Rxjava

2、RxJava的好处?
RxJava其实就是提供一套异步编程的API,这套API是基于观察者模式的,而且是链式调用的。
所以使用RxJava编写的代码的逻辑会非常简洁。

3、适用场景
数据库的读写、大图片的载入、文件压缩/解压等各种需要放在后台工作的耗时操作,都可以用RxJava来实现

4、三个基本的元素
被观察者Observable
观察者Observer
    onSubscribe:订阅观察者的时候被调用
    onNext:发动该事件时观察者会回调onNext()方法
    onError:发动该事件时观察者会回调onError()方法,当发送该事件之后,其它事件将不会继续发送
    onComplete:发动该事件时观察者会回调onComplete()方法,当发送该事件之后,其它事件将不会继续发送
订阅subscribe

5、五种被观察者
    Observable:决定什么时候触发事件以及触发怎样的事件
    Flowable:可以看成是Observable的实现,只是它支持背压
     // 被观察者(被压)的创建
     Flowable<String> stringFlowable = Flowable.create(new FlowableOnSubscribe<String>() {
        @SuppressLint("CheckResult")
        @Override
        public void subscribe(@NonNull FlowableEmitter<String> emitter) throws Throwable {
                }
        }, BackpressureStrategy.BUFFER);
    Single:简化版的Observable,只有onSuccess和onError事件,只能发射一次
    Completable:简化版的Observable,只有onComplete和onError事件,不能发射数据,常结合andThen操作符使用
    Maybe:简化版的Observable,没有onNext方法,只能发射一次
    这五种可以相互转换。

6、观察者模式
    定义对象间一种一对多的依赖关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到通知并被自动更新。
    作用是UI层与具体的业务逻辑解耦。

7、操作符
    创建操作符:
    create:创建一个被观察者
    just:创建一个被观察者,并发送事件,发送的事件不可以超过10个以上
    from:fromArray
          fromCallable
          fromFuture
          fromIterable

    转换操作符:
    map
    floatMap:转换的数据是无序的,和map类型,但它返回的是一个新的Observable
    concatMap:多个观察者组合到一起,转换的数据是有序的,最多可以发送4个事件
    buffer:一定数量的事件放到缓冲区当中一并发出
    groupBy
    scan
    window

    功能操作符

    过滤操作符

    条件操作符

还是需要把各种操作符系统地学一遍,下一章具体来讲原理。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值