前言
通过本系列前两篇的学习,相信各位码友已经基本掌握RxJava2怎么使用了,本篇我们一起来通过一个小例子实践一下,也可以加深印象。来看看如何使用RxJava2的intervalRange操作符实现倒计时功能。
依赖
首先添加依赖,Demo中使用了ButterKnife注入,各版本以当前最新的为准。
dependencies {
......
compile 'io.reactivex.rxjava2:rxjava:2.1.3'
compile 'io.reactivex.rxjava2:rxandroid:2.0.1'
compile 'com.jakewharton:butterknife:8.7.0'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.7.0'
}
intervalRange操作符
别着急上代码,开始前我们先来了解下intervalRange操作符(了解过的可以忽略哈)。
intervalRange(long start, long count, long initialDelay, long period, TimeUnit unit)
- start:起始数值
- count:发射数量
- initialDelay:延迟执行时间
- period:发射周期时间
- unit:时间单位
一句话简介就是延迟initialDelay个unit单位后,以period为周期,依次发射count个以start为初始值并递增的数字。
布局
布局中放一个Button用来演示点击获取验证码,并开启倒计时重新获取的功能。
<RelativeLayout xmlns:android="http://schemas.android.com/apk