栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 移动开发 > Android

Android RxJava创建操作符Timer的方法

Android 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Android RxJava创建操作符Timer的方法

本文实例为大家分享了Android RxJava创建操作符Timer的具体代码,供大家参考,具体内容如下

之前有写过Android实现倒计时之使用CountDownTimer,除了CountDownTimer,开发中我们也会用到handler,例如

mHandler.sendEmptyMessageDelayed(1, 10*1000);
  private Handler mHandler = new Handler() {
    @Override
    public void handleMessage(Message msg) {
      super.handleMessage(msg);
      Log.e("流程", "10秒时间已到");
    }
  };

现在结合RxJava来的Observable.timer操作符,既可以延迟执行一段逻辑,也可以间隔执行一段逻辑

首先添加类库

// RxAndroid
compile 'io.reactivex:rxandroid:1.2.1'
// RxJava
compile 'io.reactivex:rxjava:1.2.4'

(1)Timer 延迟10秒执行:

private void timer() {
    Observable.timer(10000, TimeUnit.MILLISECONDS)
 .observeOn(AndroidSchedulers.mainThread())
 .subscribe(new Action1() {
   @Override
   public void call(Long aLong) {
     Log.e("流程", "10秒倒计时已结束");
   }
 });
  }

(2)Timer 间隔1秒执行:

 private Subscription subscribe;
  private void timer() {
    subscribe= Observable.timer(1000,1000,TimeUnit.MILLISECONDS).subscribe(new Subscriber() {
      @Override
      public void onCompleted() {
      }

      @Override
      public void onError(Throwable e) {

      }

      @Override
      public void onNext(Long aLong) {
 Log.e(TAG, "------>along:"+aLong+" time:"+ SystemClock.elapsedRealtime());
      }
    });
  }

记得要取消订阅

 private void stop() {
    if (subscribe != null && !subscribe.isUnsubscribed()) {
      subscribe.unsubscribe();
    }
  }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持考高分网。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/156783.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号