RxJava(RxAndroid)入門級教程及衍生教程
概念介紹
RxJava只是ReactiveX(Reactive Extensions)的一種java實現, ReactiveX是一種響應式擴展框架,有很多種實現,如RxAndroid, RxJS, RxSwift, RxRuby等等。RX采用一種類似于觀察者的形式來實現各種功能,跟我們一般的寫代碼思路差別較大。剛開始接觸可能會覺得難以理解,但是一旦掌握地話就會體會到其強大之處。其原理就是創建一個Observable對象來幹活,然後使用各種操作符建立起來的鏈式操作,就如同流水線一樣把你想要處理的數據一步一步地加工成你想要的成品然後發射(emit)給Subscriber。
RxAndroid是對RxJava在Android上的擴展,如果你是做安卓開發的話,各種主線程和子線程的操作肯定會讓你覺得頭疼,RxAndroid可以很容易地解決你的這種困擾。
ReactiveX-GitHub
ReactiveX官網
RxAndroid
給Android 開發者的 RxJava 詳解
RxJava操作符詳解
操作符快查基本操作符create:創建被觀察者,並根據適當的時機執行onNext(),onError(),onComplete()
range:根據設置的起始值n和數目m,發射一系列大于等于n的m個值,類似遞增操作。
defer:每次訂閱都會得到一個最新的Observable對象,可以確保其內數據是最新的
interval:interval所創建的Observable對象會從0開始,每隔固定的時間發射一個數字。需要在主線程中訂閱。
initialDelay:發射第一個數字延遲的時間
period = interval:發射數字延遲的時間
repeat:會將一個Observable對象重複發射(執行)
timer: 在指定時間後發射一個數字0,注意其也是運行在computation Scheduler
轉化符buffer: 要做的事情就是將數據安裝規定的大小做一下緩存,然後將緩存的數據作爲一個集合發射出去。
count:緩存數目
skip:跳過數據的個數
timespan:時間
flatmap: 是一個非常用的操作符,常常用于一對多的轉化。將數據根據你想要的規則進行轉化後再發射出去,其原理就是將這個Observable轉化爲多個以原Observable發射的數據作爲源數據的Observable,然後再將這多個Observable發射的數據整合發射出來,需要注意的是最後的順序可能會交錯地發射出來。
map:類似于flatmap,不同之處是直接進行一對一的轉化,而flatmap需要通過一些中間的Observables來進行。
scan:對一個序列的數據應用一個函數,並將這個函數的結果發射出去作爲下個數據應用這個函數時候的第一個參數使用,有點類似于遞歸操作。
distinct:所有重複的數據都會被過濾掉。
distinctUntilChanged:過濾掉連續的重複數據。
elementAt:返回指定位置的數據。
filter:返回滿足過濾條件的數據。
first:返回滿足條件的第一條數據。
last:返回滿足條件的最後一條數據。
skip:將數據過濾掉前n項。
take:只取數據的前n項。
combineLatest:可以將2~9個Observable發射的數據組裝起來然後再發射出來。
merge:將多個Observable發射的數據整合起來發射。
startWith:在源Observable發射的數據前面插上一些數據。
更多相關文章
三星N9008刷機教程Note3卡刷教程
三星N9008刷機教程,三星Note3移動版作爲中國移動定制機型擁有衆多用戶,對于移動定制機型來說其ROM當中自帶很多定制無用的垃圾軟件,三星N9008如何刷機?爲咱們的三星N9008刷上一個純淨幹淨的系統,讓流氓軟件不再偷偷占用內存,消耗流量. 一.准備工作 1.備份個人資料,保證電量充足; 2 ...
U盤安裝centos 6.3教程(超級詳細圖解教程)
有網友說只有文字很難理解,我爲大家找了一篇其他人制作的安裝教程,有圖,有文字,可以用來做參考.能夠直觀些.鏈接:
Eclipse+PHPEclipse 安裝教程和漢化教程
Unity3D 4.0新功能:Mecanim動畫系統基礎教程
作爲unity4.0的主要更新功能,Mecanim動畫被寄予了很多的期望.系統有先進的地方,也有不足的地方.這些我們留到最後再來總結. 阿趙粗略的學習了一下,寫下以下的教程.這篇教程簡單的說明了Mecanim系統的用法和控制方式,裏面用到的資源,是從AssetStore裏面下載的,如 ...
CSDN Markdown簡明教程課程上線
++++++++++++++++++++++++++ --視頻教程地址---– ++++++++++++++++++++++++++0. 目錄目錄前言課程詳情課程介紹課程目標課程目錄課程簡介快速上手1-文本格式化快速上手2-代碼格式化和列表快速上手3-鏈接和圖片快速上手4-目錄腳注和表格公式編輯UM ...
CSDN Markdown簡明教程5-快速上手