在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ Android/ Sampling
combineLatest
從列表創(chuàng)建一個(gè)Observable
RxJava的與眾不同之處
Schedulers
RxJava觀察者模式工具包
總結(jié)
工具
你什么時(shí)候使用觀察者模式?
GroupBy
App架構(gòu)
組合Observables
創(chuàng)建Activity類
StartWith
RX - 從.NET到RxJava
處理耗時(shí)的任務(wù)
過濾Observables
向響應(yīng)式世界問好
避免阻塞I/O的操作
Join
有且僅有一次
Schedulers-解決Android主線程問題
轉(zhuǎn)換Observables
啟動(dòng)引擎
我們的第一個(gè)Observable
總結(jié)
StrictMode
Debounce
*map家族
創(chuàng)建RecyclerView Adapter
為什么是Observables?
Merge
再多幾個(gè)例子
總結(jié)
Buffer
Window
總結(jié)
Timeout
執(zhí)行網(wǎng)絡(luò)任務(wù)
項(xiàng)目目標(biāo)
來到Java世界 - Netflix RxJava
獲取我們需要的數(shù)據(jù)
Observable
過濾序列
非阻塞I/O操作
ZIP
總結(jié)
And,Then和When
觀察者模式
Retrofit
Cast
Skip and SkipLast
微軟響應(yīng)式擴(kuò)展
與REST無縫結(jié)合-RxJava和Retrofit
First and last
RxJava Essentials 中文翻譯版
Switch
ElementAt
總結(jié)
總結(jié)
總結(jié)
Sampling
SubscribeOn and ObserveOn
Subject = Observable + Observer

Sampling

讓我們再回到那個(gè)溫度傳感器。它每秒都會(huì)發(fā)射當(dāng)前室內(nèi)的溫度。說實(shí)話,我們并不認(rèn)為溫度會(huì)變化這么快,我們可以使用一個(gè)小的發(fā)射間隔。在Observable后面加一個(gè)sample(),我們將創(chuàng)建一個(gè)新的可觀測序列,它將在一個(gè)指定的時(shí)間間隔里由Observable發(fā)射最近一次的數(shù)值:

Observable<Integer> sensor = [...]

sensor.sample(30,TimeUnit.SECONDS)
    .subscribe(new Observer<Integer>() {

        @Override
        public void onCompleted() {

        }

        @Override
        public void onError(Throwable e) {

        }

        @Override
        public void onNext(Integer currentTemperature) {
            updateDisplay(currentTemperature)
        }
    });

例子中Observable將會(huì)觀測溫度Observable然后每隔30秒就會(huì)發(fā)射最后一個(gè)溫度值。很明顯,sample()支持全部的時(shí)間單位:秒,毫秒,天,分等等。

下圖中展示了一個(gè)間隔發(fā)射字母的Observable如何采樣一個(gè)發(fā)射數(shù)字的Observable。Observable的結(jié)果將會(huì)發(fā)射每個(gè)已發(fā)射字母的最后一組數(shù)據(jù):1,4,5.

http://wiki.jikexueyuan.com/project/rxjava/images/chapter4_13.png" alt="" />

如果我們想讓它定時(shí)發(fā)射第一個(gè)元素而不是最近的一個(gè)元素,我們可以使用throttleFirst()。

上一篇:Join下一篇:向響應(yīng)式世界問好