本文實例為大家分享了Android RxJava創(chuàng)建操作符Timer的具體代碼,供大家參考,具體內(nèi)容如下
創(chuàng)新互聯(lián)提供網(wǎng)站設(shè)計、網(wǎng)站制作、網(wǎng)頁設(shè)計,成都品牌網(wǎng)站建設(shè),廣告投放等致力于企業(yè)網(wǎng)站建設(shè)與公司網(wǎng)站制作,10多年的網(wǎng)站開發(fā)和建站經(jīng)驗,助力企業(yè)信息化建設(shè),成功案例突破上千,是您實現(xiàn)網(wǎng)站建設(shè)的好選擇.
之前有寫過Android實現(xiàn)倒計時之使用CountDownTimer,除了CountDownTimer,開發(fā)中我們也會用到handler,例如
mHandler.sendEmptyMessageDelayed(1, 10*1000); private Handler mHandler = new Handler() { @Override public void handleMessage(Message msg) { super.handleMessage(msg); Log.e("流程", "10秒時間已到"); } };
現(xiàn)在結(jié)合RxJava來的Observable.timer操作符,既可以延遲執(zhí)行一段邏輯,也可以間隔執(zhí)行一段邏輯
首先添加類庫
// RxAndroid compile 'io.reactivex:rxandroid:1.2.1' // RxJava compile 'io.reactivex:rxjava:1.2.4'
(1)Timer 延遲10秒執(zhí)行:
private void timer() { Observable.timer(10000, TimeUnit.MILLISECONDS) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Action1() { @Override public void call(Long aLong) { Log.e("流程", "10秒倒計時已結(jié)束"); } }); }
(2)Timer 間隔1秒執(zhí)行:
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(); } }
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。