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

鍍金池/ 教程/ Android/ 獲取我們需要的數(shù)據(jù)
combineLatest
從列表創(chuàng)建一個(gè)Observable
RxJava的與眾不同之處
Schedulers
RxJava觀察者模式工具包
總結(jié)
工具
你什么時(shí)候使用觀察者模式?
GroupBy
App架構(gòu)
組合Observables
創(chuàng)建Activity類
StartWith
RX - 從.NET到RxJava
處理耗時(shí)的任務(wù)
過(guò)濾Observables
向響應(yīng)式世界問(wèn)好
避免阻塞I/O的操作
Join
有且僅有一次
Schedulers-解決Android主線程問(wèn)題
轉(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)
來(lái)到Java世界 - Netflix RxJava
獲取我們需要的數(shù)據(jù)
Observable
過(guò)濾序列
非阻塞I/O操作
ZIP
總結(jié)
And,Then和When
觀察者模式
Retrofit
Cast
Skip and SkipLast
微軟響應(yīng)式擴(kuò)展
與REST無(wú)縫結(jié)合-RxJava和Retrofit
First and last
RxJava Essentials 中文翻譯版
Switch
ElementAt
總結(jié)
總結(jié)
總結(jié)
Sampling
SubscribeOn and ObserveOn
Subject = Observable + Observer

獲取我們需要的數(shù)據(jù)

當(dāng)我們不需要整個(gè)序列時(shí),而是只想取開(kāi)頭或結(jié)尾的幾個(gè)元素,我們可以用take()takeLast()。

Take

如果我們只想要一個(gè)可觀測(cè)序列中的前三個(gè)元素那將會(huì)怎么樣,發(fā)射它們,然后讓Observable完成嗎?take()函數(shù)用整數(shù)N來(lái)作為一個(gè)參數(shù),從原始的序列中發(fā)射前N個(gè)元素,然后完成:

private void loadList(List<AppInfo> apps) {
    mRecyclerView.setVisibility(View.VISIBLE);
    Observable.from(apps)
            .take(3)
            .subscribe(new Observer<AppInfo>() {

                @Override
                public void onCompleted() {
                    mSwipeRefreshLayout.setRefreshing(false);
                }

                @Override
                public void onError(Throwable e) {
                    Toast.makeText(getActivity(), "Something went wrong!", Toast.LENGTH_SHORT).show();
                    mSwipeRefreshLayout.setRefreshing(false);
                }

                @Override
                public void onNext(AppInfo appInfo) {
                    mAddedApps.add(appInfo);
                    mAdapter.addApplication(mAddedApps.size() - 1,appInfo);
                }
            });
}

下圖中展示了發(fā)射數(shù)字的一個(gè)可觀測(cè)序列。我們對(duì)這個(gè)可觀測(cè)序列應(yīng)用take(2)函數(shù),然后我們創(chuàng)建一個(gè)只發(fā)射可觀測(cè)源的第一個(gè)和第二個(gè)數(shù)據(jù)的新序列。

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

TakeLast

如果我們想要最后N個(gè)元素,我們只需使用takeLast()函數(shù):

Observable.from(apps)
        .takeLast(3)
        .subscribe(...);

正如聽(tīng)起來(lái)那樣不值一提,值得注意的是因?yàn)閠akeLast()方法只能作用于一組有限的序列(發(fā)射元素),它只能應(yīng)用于一個(gè)完整的序列。

下圖中展示了如何從可觀測(cè)源中發(fā)射最后一個(gè)元素來(lái)創(chuàng)建一個(gè)新的序列:

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

下圖中展示了我們?cè)谝寻惭b的應(yīng)用列表使用take()takeLast()函數(shù)后發(fā)生的結(jié)果:

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