RxJava2.0第五篇 interval 定时任务(心跳包)

interval  :返回一个流,每个指定的时间间隔都发射一个序号。

可以使用在例如股票k线图、实时数据等应用环境

首先来看一下原方法:

 public static Flowable<Long> interval(long period, TimeUnit unit) {
        return interval(period, period, unit, Schedulers.computation());
    }

从上面的方法中我们看出,interval在Flowable.java 类中很多重载方法,我们可以根据不同的需求调用不同的方法即可,以下是对interval的常用方法:

一、定时调用

//定时2秒调用一次
Flowable.interval(2, TimeUnit.SECONDS).observeOn(AndroidSchedulers.mainThread())
                .subscribe(new Consumer<Long>() {
                    @Override
                    public void accept(@NonNull Long aLong) throws Exception {
                        Log.e("------>",(aLong++)+"");
                    }
                });

输出日志:

09-22 03:13:36.785 4434-4434/jy.com.rxjava2 E/------>: 0
09-22 03:13:38.785 4434-4434/jy.com.rxjava2 E/------>: 1
09-22 03:13:40.785 4434-4434/jy.com.rxjava2 E/------>: 2
09-22 03:13:42.785 4434-4434/jy.com.rxjava2 E/------>: 3
09-22 03:13:44.785 4434-4434/jy.com.rxjava2 E/------>: 4
09-22 03:13:46.785 4434-4434/jy.com.rxjava2 E/------>: 5
09-22 03:13:48.785 4434-4434/jy.com.rxjava2 E/------>: 6
二、带有延迟 的定时任务;如下,先  延迟 10秒 ,在执行2s定时任务
public static void interval2(final TextView textView) {
        Log.e("======>", "start");
        Flowable.interval(10, 2, TimeUnit.SECONDS)
                .observeOn(AndroidSchedulers.mainThread())
                .subscribe(new Consumer<Long>() {
                    @Override
                    public void accept(@NonNull Long aLong) throws Exception {
                        Log.e("======>",(aLong++)+"");
                    }
                });
    }

输出日志:

09-22 05:00:32.965 11640-11640/jy.com.rxjava2 E/======>: start
09-22 05:00:43.015 11640-11640/jy.com.rxjava2 E/======>: 0
09-22 05:00:45.015 11640-11640/jy.com.rxjava2 E/======>: 1
09-22 05:00:47.015 11640-11640/jy.com.rxjava2 E/======>: 2
09-22 05:00:49.015 11640-11640/jy.com.rxjava2 E/======>: 3
09-22 05:00:51.015 11640-11640/jy.com.rxjava2 E/======>: 4
09-22 05:00:53.015 11640-11640/jy.com.rxjava2 E/======>: 5
09-22 05:00:55.015 11640-11640/jy.com.rxjava2 E/======>: 6

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值