在线二区人妖系列_国产亚洲欧美日韩在线一区_国产一级婬片视频免费看_精品少妇一区二区三区在线

鍍金池/ 教程/ Android/ 創(chuàng)建操作
調(diào)度器 Scheduler
Empty/Never/Throw
Replay
這個(gè)頁(yè)面展示了創(chuàng)建Observable的各種方法。
ObserveOn
ReactiveX
TimeInterval
Window
本頁(yè)展示的操作符用于對(duì)整個(gè)序列執(zhí)行算法操作或其它操作,由于這些操作必須等待數(shù)據(jù)發(fā)射完成(通常也必須緩存這些數(shù)據(jù)),它們對(duì)于非常長(zhǎng)
IgnoreElements
Distinct
Last
Start
And/Then/When
Switch
創(chuàng)建操作
Materialize/Dematerialize
CombineLatest
Catch
實(shí)現(xiàn)自己的操作符
StringObservable
Map
ConnectableObservable
Using
Take
BlockingObservable
TakeLast
Defer
RxJavaSchedulersHook
First
FlatMap
這個(gè)頁(yè)面的操作符可用于根據(jù)條件發(fā)射或變換Observables,或者對(duì)它們做布爾運(yùn)算:
Do
Repeat
Serialize
這個(gè)頁(yè)面展示的操作符可用于過(guò)濾和選擇Observable發(fā)射的數(shù)據(jù)序列。
這個(gè)頁(yè)面列出了很多用于Observable的輔助操作符
Single
Retry
從錯(cuò)誤中恢復(fù)的技術(shù)
Sample
Merge
算術(shù)和聚合操作
Range
Timestamp
RxJava Issues
From
Subscribe
Subject
Delay
Skip
SubscribeOn
Filter
按字母順序排列的全部操作符列表
Timeout
Scan
onError
Zip
RxJava文檔和教程
Publish
ElementAt
第一個(gè)例子
SkipLast
Just
Timer
Debounce
GroupBy
條件和布爾操作
這個(gè)頁(yè)面展示了可用于對(duì)Observable發(fā)射的數(shù)據(jù)執(zhí)行變換操作的各種操作符。
Introduction
rxjava-async
介紹響應(yīng)式編程
這個(gè)頁(yè)面展示的操作符可用于組合多個(gè)Observables。
ReactiveX
Connect
操作符分類
StartWith
Interval
Join
To
Buffer
RefCount
介紹
Observable

創(chuàng)建操作

Create

使用一個(gè)函數(shù)從頭開(kāi)始創(chuàng)建一個(gè)Observable

http://wiki.jikexueyuan.com/project/rx-docs/images/operators/create.c.png" alt="create" />

你可以使用Create操作符從頭開(kāi)始創(chuàng)建一個(gè)Observable,給這個(gè)操作符傳遞一個(gè)接受觀察者作為參數(shù)的函數(shù),編寫(xiě)這個(gè)函數(shù)讓它的行為表現(xiàn)為一個(gè)Observable--恰當(dāng)?shù)恼{(diào)用觀察者的onNext,onError和onCompleted方法。

一個(gè)形式正確的有限Observable必須嘗試調(diào)用觀察者的onCompleted正好一次或者它的onError正好一次,而且此后不能再調(diào)用觀察者的任何其它方法。

http://wiki.jikexueyuan.com/project/rx-docs/images/operators/create.png" alt="create" />

RxJava將這個(gè)操作符實(shí)現(xiàn)為 create 方法。

建議你在傳遞給create方法的函數(shù)中檢查觀察者的isUnsubscribed狀態(tài),以便在沒(méi)有觀察者的時(shí)候,讓你的Observable停止發(fā)射數(shù)據(jù)或者做昂貴的運(yùn)算。

示例代碼:


Observable.create(new Observable.OnSubscribe<Integer>() {
    @Override
    public void call(Subscriber<? super Integer> observer) {
        try {
            if (!observer.isUnsubscribed()) {
                for (int i = 1; i < 5; i++) {
                    observer.onNext(i);
                }
                observer.onCompleted();
            }
        } catch (Exception e) {
            observer.onError(e);
        }
    }
 } ).subscribe(new Subscriber<Integer>() {
        @Override
        public void onNext(Integer item) {
            System.out.println("Next: " + item);
        }

        @Override
        public void onError(Throwable error) {
            System.err.println("Error: " + error.getMessage());
        }

        @Override
        public void onCompleted() {
            System.out.println("Sequence complete.");
        }
    });

輸出:

Next: 1
Next: 2
Next: 3
Next: 4
Sequence complete.

create方法默認(rèn)不在任何特定的調(diào)度器上執(zhí)行。

上一篇:ConnectableObservable下一篇:Join