Android輪詢器,RxJava Interval;
阿新 • • 發佈:2018-11-29
基於RxJava實現輪詢器,配合Retrofit處理網路請求輪詢很好用,其它的一些輪詢也都可以使用像Bannre圖之類的;
implementation 'io.reactivex.rxjava2:rxjava:2.2.2'
private Disposable subscribe; //開始輪詢 public void start(View view) { //interval對應引數 :首次執行延時時間 、 每次輪詢間隔時間 、 時間型別 subscribe = Observable.interval(0,1, TimeUnit.SECONDS) .subscribeOn(Schedulers.io()) .subscribe(new Consumer<Long>() { @Override public void accept(Long aLong) throws Exception { Log.i("ccb", "accept: " + aLong); } }); // 有限制次數的輪詢器 // Observable.intervalRange(0,10,0,1,TimeUnit.SECONDS) // .subscribe(new Consumer<Long>() { // @Override // public void accept(Long aLong) throws Exception { // Log.i("ccb", "accept: "+aLong); // } // }); } //結束輪詢 public void shop(View view) { //停止輪詢,銷燬這個Subscribe; if (!subscribe.isDisposed()) subscribe.dispose(); }
如圖,在輪詢到第10次時結束了輪詢;