RxJava在github上的官方介紹:
a library for composing asynchronous and event-based programs by using observable sequences.
一個在運行在Java VM上的庫, 通過可觀測的序列來組成異步的、基于事件的程序疾捍。(原諒我的英語水平有限)
rxjava github地址:https://github.com/ReactiveX/RxJava
rxandroid github地址:https://github.com/ReactiveX/RxAndroid
與其他技術(shù)相比有巧,我們?yōu)槭裁匆x用rxjava???
Observable(被觀察者)和Subscriber(訂閱者)可以做到任何事情:
? ? 1.Observable可以是一個網(wǎng)絡(luò)請求,Subscriber來顯示請求結(jié)果;
? ? 2.Observable可以是一個數(shù)據(jù)庫查詢,Subscriber來顯示查詢結(jié)果趟紊;
? ? 3.Observable可以是按鈕點擊事件,Subscriber來響應(yīng)點擊事件;
? ? 4.Observable可以是大圖片文件的加載解析, Subscriber來展示解析后的圖片适秩。
本文作為此系列文章的第一篇,主要展示一下有關(guān)創(chuàng)建Observable對象的相關(guān)API硕舆,廢話不多說隶症,直接上大錘。
create:
just:
from:
just和from比較:just會將數(shù)組作為一整個對象只發(fā)射一次岗宣,而from是將數(shù)組里的每個對象分別發(fā)射一次,也就是說會發(fā)射多次淋样。
defer:
defer允許直到有觀察者訂閱時才創(chuàng)建Observable耗式,并且為每個觀察者創(chuàng)建一個新的Observable
interval:
interval創(chuàng)建一個按固定時間間隔發(fā)射整數(shù)序列的Observable
timer:
timer創(chuàng)建一個Observable,它在一個給定的延遲后發(fā)射一個特殊的值
range:
range創(chuàng)建一個發(fā)射特定整數(shù)序列的Observable,發(fā)射一個范圍內(nèi)的有序整數(shù)序列刊咳,你可以指定范圍的起始和長度
repeat:
repeat創(chuàng)建一個發(fā)射特定數(shù)據(jù)重復多次的Observable
總結(jié):
以上的方法已經(jīng)基本例舉了RxJava中有關(guān)Observable對象創(chuàng)建的API彪见,具體用法還需要大家多加練習呀!
注:本人會在此系列文章的末尾加上GitHub源碼地址娱挨,敬請期待余指。。跷坝。