這篇文章給大家介紹分享一些RxJava的特殊用法,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
10年的安澤網(wǎng)站建設(shè)經(jīng)驗(yàn),針對設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。全網(wǎng)整合營銷推廣的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整安澤建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。成都創(chuàng)新互聯(lián)從事“安澤網(wǎng)站設(shè)計(jì)”,“安澤網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
一、按鈕綁定
通過 RxView 可以對 view 進(jìn)行快速的 clicks 綁定
RxView.clicks(button).debounce(300, TimeUnit.MILLISECONDS).subscribe(new Action1() { @Override public void call(Void aVoid) { Log.i("test", "clicked"); } });
二、輪詢
項(xiàng)目中需要輪詢請求,有兩種實(shí)現(xiàn)方式
第一種
//輪訓(xùn)請求 Observable.create(new Observable.OnSubscribe(){ @Override public void call(Subscriber<? super String> subscriber) { Schedulers.newThread().createWorker().schedulePeriodically(new Action0() { @Override public void call() { //請求網(wǎng)絡(luò) } },10,10, TimeUnit.SECONDS); } }).subscribe(new Action1 () { @Override public void call(String s) { } });
第二種
//輪詢 Subscription mRepeat = Observable.interval(2,2,TimeUnit.SECONDS) .subscribe(new Action1() { @Override public void call(Long aLong) { } });
三、延遲操作
有了這個(gè)就不用寫,之前 thread 的延時(shí)方法了,而且可以快速的選擇主線程和子線程
//延遲 Observable.timer(2,TimeUnit.SECONDS) .subscribe(call ->{ });
關(guān)于分享一些RxJava的特殊用法就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。