RxJava | 創(chuàng)建操作符 Create

RxJava.png

1. 概述

我想办斑,你在看這篇文章之前,應(yīng)該要先了解一下Rxjava的魅力赖草,具體百度啊学少,可以看看仍物線同學(xué)的文章。
create操作符秧骑,是一個(gè)什么都沒有的狀態(tài)下版确,創(chuàng)建一個(gè)Observable,可被觀察者乎折。


create

如上面的圖示:
橫軸是時(shí)間線绒疗,起點(diǎn)是create,從create骂澄,流水線開始吓蘑,create中每次調(diào)用onNext,就有一次時(shí)間點(diǎn)的觸發(fā)(紅點(diǎn))等等坟冲,最后磨镶,onComplete結(jié)束整個(gè)流水線。

2. 代碼

建立起一個(gè)可被觀察者:

//1.建立起一個(gè)可觀察者健提,observable琳猫。
        Observable<Integer> observable = Observable.create(new Observable.OnSubscribe<Integer>() {
            @Override
            public void call(Subscriber<? super Integer> subscriber) {
                for (int i = 0; i < 5; i++) {
                    subscriber.onNext(i);
                }
                subscriber.onCompleted();
            }
        });

這里,建立起來后私痹,代碼里面調(diào)用了五次觀察者的onNext脐嫂,當(dāng)然统刮,此時(shí),數(shù)據(jù)還并沒有發(fā)射账千。當(dāng)有訂閱者侥蒙,或者說,當(dāng)有觀察者觀察的時(shí)候蕊爵,才會(huì)觸發(fā)這段代碼運(yùn)行辉哥。
然后,我們看看觀察者:

//2.創(chuàng)建觀察者攒射。
        Subscription subscription = observable.subscribe(new Observer<Integer>() {
            @Override
            public void onCompleted() {
                LogUtils.e("onCompleted");
            }

            @Override
            public void onError(Throwable throwable) {

            }

            @Override
            public void onNext(Integer integer) {
                LogUtils.e(integer.toString());
            }
        });

當(dāng)觀察者訂閱之后醋旦,代碼就開始運(yùn)行了。
看看Log:

10-21 15:23:01.658 22690-22690/testmodules.chestnut E/TAG: 0
10-21 15:23:01.658 22690-22690/testmodules.chestnut E/TAG: 1
10-21 15:23:01.658 22690-22690/testmodules.chestnut E/TAG: 2
10-21 15:23:01.658 22690-22690/testmodules.chestnut E/TAG: 3
10-21 15:23:01.658 22690-22690/testmodules.chestnut E/TAG: 4
10-21 15:23:01.659 22690-22690/testmodules.chestnut E/TAG: onCompleted

嗯会放,onNext調(diào)用了五次饲齐,最后onCompleted。

3. 觀察者的說明

  • Throwable

  • 當(dāng)調(diào)用鏈拋出未Catch的異常時(shí)候咧最,會(huì)直接跳到new Action1<Throwable>()

  • 此時(shí)捂人,不會(huì)去調(diào)用onCompleted,整條鏈結(jié)束矢沿。

  • onNext

  • 當(dāng)一個(gè)數(shù)據(jù)流完整的發(fā)射下來(中間沒有拋異常)滥搭,那會(huì)一個(gè)一個(gè)地調(diào)用onNext。

  • onCompleted

  • 當(dāng)整條鏈都發(fā)射完畢(中間沒有拋異常)捣鲸,會(huì)調(diào)用:onCompleted瑟匆。如果有異常,會(huì)直接捕抓到Throwable栽惶,而不會(huì)調(diào)用onCompleted愁溜。

4. 最后

Rx是2015年,熱起來的一個(gè)新思想外厂,如果你還沒接觸冕象,就要趕緊了。新思想汁蝶,新技術(shù)的注入渐扮,必定將顛覆你的編程思想。這是一個(gè)潮流穿仪,你也必須跟上去席爽,不然你就落后了。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末啊片,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子玖像,更是在濱河造成了極大的恐慌紫谷,老刑警劉巖齐饮,帶你破解...
    沈念sama閱讀 206,602評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異笤昨,居然都是意外死亡祖驱,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門瞒窒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來捺僻,“玉大人,你說我怎么就攤上這事崇裁∝芭鳎” “怎么了?”我有些...
    開封第一講書人閱讀 152,878評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵拔稳,是天一觀的道長(zhǎng)葛峻。 經(jīng)常有香客問我,道長(zhǎng)巴比,這世上最難降的妖魔是什么术奖? 我笑而不...
    開封第一講書人閱讀 55,306評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮轻绞,結(jié)果婚禮上采记,老公的妹妹穿的比我還像新娘。我一直安慰自己政勃,他們只是感情好唧龄,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,330評(píng)論 5 373
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著稼病,像睡著了一般选侨。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上然走,一...
    開封第一講書人閱讀 49,071評(píng)論 1 285
  • 那天援制,我揣著相機(jī)與錄音,去河邊找鬼芍瑞。 笑死晨仑,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的拆檬。 我是一名探鬼主播洪己,決...
    沈念sama閱讀 38,382評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼竟贯!你這毒婦竟也來了答捕?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,006評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤屑那,失蹤者是張志新(化名)和其女友劉穎拱镐,沒想到半個(gè)月后艘款,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,512評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡沃琅,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,965評(píng)論 2 325
  • 正文 我和宋清朗相戀三年哗咆,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片益眉。...
    茶點(diǎn)故事閱讀 38,094評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡晌柬,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出郭脂,到底是詐尸還是另有隱情年碘,我是刑警寧澤,帶...
    沈念sama閱讀 33,732評(píng)論 4 323
  • 正文 年R本政府宣布朱庆,位于F島的核電站盛泡,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏娱颊。R本人自食惡果不足惜傲诵,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,283評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望箱硕。 院中可真熱鬧拴竹,春花似錦、人聲如沸剧罩。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,286評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽惠昔。三九已至幕与,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間镇防,已是汗流浹背啦鸣。 一陣腳步聲響...
    開封第一講書人閱讀 31,512評(píng)論 1 262
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留来氧,地道東北人诫给。 一個(gè)月前我還...
    沈念sama閱讀 45,536評(píng)論 2 354
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像啦扬,于是被迫代替她去往敵國(guó)和親中狂。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,828評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • 作者: maplejaw本篇只解析標(biāo)準(zhǔn)包中的操作符扑毡。對(duì)于擴(kuò)展包胃榕,由于使用率較低,如有需求瞄摊,請(qǐng)讀者自行查閱文檔勤晚。 創(chuàng)...
    maplejaw_閱讀 45,600評(píng)論 8 93
  • 版權(quán)聲明:本文為小斑馬偉原創(chuàng)文章枉层,轉(zhuǎn)載請(qǐng)注明出處泉褐! 上篇簡(jiǎn)單的闡述了響應(yīng)式編程的基本理論赐写。這篇主要對(duì)響應(yīng)編程進(jìn)行詳...
    ZebraWei閱讀 2,211評(píng)論 0 2
  • 注:只包含標(biāo)準(zhǔn)包中的操作符,用于個(gè)人學(xué)習(xí)及備忘參考博客:http://blog.csdn.net/maplejaw...
    小白要超神閱讀 911評(píng)論 0 3
  • 本篇文章介主要紹RxJava中操作符是以函數(shù)作為基本單位膜赃,與響應(yīng)式編程作為結(jié)合使用的挺邀,對(duì)什么是操作、操作符都有哪些...
    嘎啦果安卓獸閱讀 2,837評(píng)論 0 10
  • 注:只包含標(biāo)準(zhǔn)包中的操作符跳座,用于個(gè)人學(xué)習(xí)及備忘參考博客:http://blog.csdn.net/maplejaw...
    小白要超神閱讀 2,184評(píng)論 2 8