Rx java总结 二

2020-01-07  本文已影响0人  18岁的编程少年

接着前面的继续更新 有需要的请看 总结一

range


发射一个指定范围的数

range(2, 5)
   .subscribe {
          Log.d("RxjavaStu", it.toString())
    }

输出的结果

com.example.rxjavastu D/RxjavaStu: 2
com.example.rxjavastu D/RxjavaStu: 3
com.example.rxjavastu D/RxjavaStu: 4
com.example.rxjavastu D/RxjavaStu: 5
com.example.rxjavastu D/RxjavaStu: 6

filter


这个操作符可以作为数据筛选器,帮你过滤不想要的数据

fromArray(1, 10, 20, 100, 150, 200).filter {
                it > 100
            }.subscribe {
                Log.d("RxjavaStu", it.toString())
            }

输出的结果

  com.example.rxjavastu D/RxjavaStu: 150
  com.example.rxjavastu D/RxjavaStu: 200

take

此操作符用于指定想要的数据数量

 fromArray(1, 10, 20, 100, 150, 200)
                .take(2)
                .subscribe {
                    Log.d("RxjavaStu", it.toString())
                }

输出的结果

    com.example.rxjavastu D/RxjavaStu: 1
    com.example.rxjavastu D/RxjavaStu: 10

interval

此方法返回一个每隔指定的时间间隔就发射一个序号的 Observable 对象,可用来做倒计时心跳包等操作,无限发送,除非调用dispose()可以终止

interval(0, 1, TimeUnit.SECONDS)
                .subscribe {
                    Log.d("RxjavaStu", it.toString())
                }

输出结果

com.example.rxjavastu D/RxjavaStu: 0
com.example.rxjavastu D/RxjavaStu: 1
com.example.rxjavastu D/RxjavaStu: 2
com.example.rxjavastu D/RxjavaStu: 3
com.example.rxjavastu D/RxjavaStu: 4
com.example.rxjavastu D/RxjavaStu: 5
com.example.rxjavastu D/RxjavaStu: 6
com.example.rxjavastu D/RxjavaStu: 7

timer

创建一个在指定延迟时间后发射一条数据( 固定值:0 )的 Observable 对象,可用来做定时操作

timer(3, TimeUnit.SECONDS)
                .subscribe {
                    Log.d("RxjavaStu", it.toString())
                }

输出结果(三秒后输出)

  com.example.rxjavastu D/RxjavaStu: 0
上一篇下一篇

猜你喜欢

热点阅读