Rxjava初學總結(jié)

什么是Rxjava赚楚?

Rxjava是基于?觀察者模式含长,使用?操作符?和?異步操作?來處理復雜的業(yè)務


基于觀察者模式的Rxjava。

觀察者模式:A 對 B 的動作變化在一瞬間作出的反應调俘,則A稱之為觀察者辜窑,B稱之為被觀察者。

三個關(guān)鍵詞

1 ?觀察者

2 ?被觀察者

3 ?觀察者與被觀察者連接

在Rxjava中

觀察者被稱之為 Observer

被觀察者被稱之為 Observable

觀察者與被觀察者連接被稱之為?subscribe()

觀察者

Observer 即觀察者吊趾,事件觸發(fā)時將會采取行為宛裕。

RxJava 觀察者的事件回調(diào)方法除了普通事件onNext()之外瑟啃,還定義了兩個特殊的事件:onCompleted()和onError()。

onCompleted()代表事件隊列完結(jié)揩尸。

onError()代表事件隊列異常蛹屿。

創(chuàng)建一個觀察者:

被觀察者

Observable 即被觀察者,表示事件的觸發(fā)岩榆。

創(chuàng)建一個被觀察者:3種方法

1. 使用create()

2.使用 just()


3.使用 from()

將觀察者與被觀察者連接

進一步加深 —?Subscriber

Subscriber是對Observer接口進行了一點擴展错负,但是大體相同,Subscriber與Observer的區(qū)別是Subscriber多了onStart()和unsubscribe()兩個方法勇边。

Action

在創(chuàng)建觀察者時犹撒,會有onNext(),onCompleted()和onError()三個方法粒褒,而Action中使用call()將三者整合识颊。

Action也是RxJava 的一個接口,最常用的是Action0和Action1怀浆。

Action0和Action1的區(qū)別是在call()方法中谊囚,Action0無參數(shù),Action1有一個參數(shù)执赡。

操作符

map:用來類型轉(zhuǎn)換的镰踏,也可以輸入一個類,提取類中的屬性值沙合。

flatMap:是針對一組數(shù)據(jù)進行類型的轉(zhuǎn)換奠伪。

filter:集合進行過濾

each:遍歷集合

take:取出集合中的前幾個

skip:跳過前幾個元素

異步

之前對Rxjava的介紹都是同步的,在當前線程中執(zhí)行首懈,由于Rxjava默認是在當前線程中執(zhí)行绊率,如果遇到一些復雜耗時的操作,就需要指定新的線程究履,再進行回調(diào)滤否。

Scheduler

可以指定代碼在某一特定的線程中執(zhí)行

subscribeOn() ?指定新的線程(位置放在哪里都可以)

observeOn() ?回調(diào)的線程(可以多次使用,切換不同的線程)

AndroidSchedulers.mainThread() ?它指定的操作將在 Android 主線程運行

這種使用方式非常常見最仑,它適用于多數(shù)的 『后臺線程取數(shù)據(jù)藐俺,主線程顯示』的程序策略


參考:給 Android 開發(fā)者的 RxJava 詳解??

Android RxJava的使用(一)基本用法

Android RxJava的使用(二)

(本文部分內(nèi)容引用這些博客)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市泥彤,隨后出現(xiàn)的幾起案子欲芹,更是在濱河造成了極大的恐慌,老刑警劉巖吟吝,帶你破解...
    沈念sama閱讀 211,743評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件菱父,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機浙宜,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評論 3 385
  • 文/潘曉璐 我一進店門官辽,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人粟瞬,你說我怎么就攤上這事野崇。” “怎么了亩钟?”我有些...
    開封第一講書人閱讀 157,285評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長鳖轰。 經(jīng)常有香客問我清酥,道長,這世上最難降的妖魔是什么蕴侣? 我笑而不...
    開封第一講書人閱讀 56,485評論 1 283
  • 正文 為了忘掉前任焰轻,我火速辦了婚禮,結(jié)果婚禮上昆雀,老公的妹妹穿的比我還像新娘辱志。我一直安慰自己,他們只是感情好狞膘,可當我...
    茶點故事閱讀 65,581評論 6 386
  • 文/花漫 我一把揭開白布揩懒。 她就那樣靜靜地躺著,像睡著了一般挽封。 火紅的嫁衣襯著肌膚如雪已球。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,821評論 1 290
  • 那天辅愿,我揣著相機與錄音智亮,去河邊找鬼。 笑死点待,一個胖子當著我的面吹牛阔蛉,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播癞埠,決...
    沈念sama閱讀 38,960評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼状原,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了燕差?” 一聲冷哼從身側(cè)響起遭笋,我...
    開封第一講書人閱讀 37,719評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎徒探,沒想到半個月后瓦呼,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,186評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,516評論 2 327
  • 正文 我和宋清朗相戀三年央串,在試婚紗的時候發(fā)現(xiàn)自己被綠了磨澡。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,650評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡质和,死狀恐怖稳摄,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情饲宿,我是刑警寧澤厦酬,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布,位于F島的核電站瘫想,受9級特大地震影響仗阅,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜国夜,卻給世界環(huán)境...
    茶點故事閱讀 39,936評論 3 313
  • 文/蒙蒙 一减噪、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧车吹,春花似錦筹裕、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,757評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至馒吴,卻和暖如春扎运,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背饮戳。 一陣腳步聲響...
    開封第一講書人閱讀 31,991評論 1 266
  • 我被黑心中介騙來泰國打工豪治, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人扯罐。 一個月前我還...
    沈念sama閱讀 46,370評論 2 360
  • 正文 我出身青樓负拟,卻偏偏與公主長得像,于是被迫代替她去往敵國和親歹河。 傳聞我的和親對象是個殘疾皇子掩浙,可洞房花燭夜當晚...
    茶點故事閱讀 43,527評論 2 349

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

  • 轉(zhuǎn)一篇文章 原地址:http://gank.io/post/560e15be2dca930e00da1083 前言...
    jack_hong閱讀 910評論 0 2
  • 我從去年開始使用 RxJava ,到現(xiàn)在一年多了秸歧。今年加入了 Flipboard 后厨姚,看到 Flipboard 的...
    Jason_andy閱讀 5,460評論 7 62
  • 前言我從去年開始使用 RxJava ,到現(xiàn)在一年多了键菱。今年加入了 Flipboard 后谬墙,看到 Flipboard...
    占導zqq閱讀 9,159評論 6 151
  • ‘誠信’作為我們中華民族的傳統(tǒng)美德拭抬,經(jīng)常是被我們拿來稱贊和頌揚的部默。因為誠信不僅是作為一種我們民族精神上的一種信仰,...
    雷大來閱讀 4,168評論 0 4
  • 由于適配器的封裝的寫法太多造虎,這邊我就直接上代碼了傅蹂。 public abstract class CommonAda...
    Kevin_Zhou閱讀 268評論 0 0