本文主要給大家介紹了關(guān)于RxJava的一些特殊用法,分享出來(lái)供大家參考學(xué)習(xí),需要的朋友們下面來(lái)一起看看吧。
一、按鈕綁定
通過(guò) RxView 可以對(duì) view 進(jìn)行快速的 clicks 綁定
RxView.clicks(button).debounce(300, TimeUnit.MILLISECONDS).subscribe(new Action1<Void>() { @Override public void call(Void aVoid) { Log.i("test", "clicked"); } });二、輪詢(xún)
項(xiàng)目中需要輪詢(xún)請(qǐng)求,有兩種實(shí)現(xiàn)方式
第一種
//輪訓(xùn)請(qǐng)求Observable.create(new Observable.OnSubscribe<String>(){ @Override public void call(Subscriber<? super String> subscriber) { Schedulers.newThread().createWorker().schedulePeriodically(new Action0() { @Override public void call() { //請(qǐng)求網(wǎng)絡(luò) } },10,10, TimeUnit.SECONDS); }}).subscribe(new Action1<String>() { @Override public void call(String s) { }});第二種
//輪詢(xún)Subscription mRepeat = Observable.interval(2,2,TimeUnit.SECONDS) .subscribe(new Action1<Long>() { @Override public void call(Long aLong) { }});三、延遲操作
有了這個(gè)就不用寫(xiě),之前 thread 的延時(shí)方法了,而且可以快速的選擇主線程和子線程
//延遲Observable.timer(2,TimeUnit.SECONDS) .subscribe(call ->{});總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)VEVB武林網(wǎng)的支持。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注