欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

目錄

柚子快報(bào)邀請(qǐng)碼778899分享:android Rxjava

柚子快報(bào)邀請(qǐng)碼778899分享:android Rxjava

http://yzkb.51969.com/

添加依賴

implementation "io.reactivex.rxjava3:rxjava:3.1.5"

implementation 'io.reactivex.rxjava3:rxandroid:3.0.2'

關(guān)于RxJava

RxJava的核心是異步數(shù)據(jù)流和響應(yīng)式編程

RxJava適用場(chǎng)景

網(wǎng)絡(luò)請(qǐng)求。數(shù)據(jù)庫(kù)讀寫,文件讀寫,定時(shí)任務(wù)等各種耗時(shí)操作都需要通過異步來完成的操作都可以使用RxJava

RxJava幾個(gè)重要概念

觀察者:

Observer,觀察事件變化并處理的主要角色。消費(fèi)者(Consumer)也可以理解成一種特殊的觀察者

被觀察者:

觸發(fā)事件并決定什么時(shí)候發(fā)送事件的主要角色(異常和完成也是一種事件)

Observable. Flowable .Single .Completable Maybe都是被觀察者

Flowable是支持背壓的一種觀察者

Single.Completable.Maye 是簡(jiǎn)化版的Observable

幾種被觀察者通過toObservable/toFlowable/toSingle/toCompletable/toMaybe相互轉(zhuǎn)換

訂閱(subscribe):

觀察者和被觀察者建立關(guān)聯(lián)的操作

強(qiáng)大的操作符群

創(chuàng)建操作符

create() 創(chuàng)建一個(gè)被觀察者

just() 創(chuàng)建一個(gè)被觀察者,并發(fā)送事件,發(fā)送的事件不可以超過10個(gè)以上

Form 操作符

fromArray()

fromCallable()

fromFuture()

fromIterable()

defer() 這個(gè)方法的作用就是直到被觀察者被訂閱后才會(huì)創(chuàng)建被觀察者

timer()當(dāng)?shù)街付ㄊ录缶蜁?huì)發(fā)送一個(gè)OL的值給觀察者

interval() 每隔一段時(shí)間就會(huì)發(fā)送一個(gè)事件,這個(gè)事件是從0開始,不斷增1的數(shù)字

intervalRange() 可以指定發(fā)送事件的開始值和數(shù)量,其他與interval()的功能

range()同時(shí)發(fā)送一定范圍的時(shí)間序列

rangeLong()作用與range()一樣,只是數(shù)據(jù)類型為long

empty()&never()&error()

empty() :直接發(fā)送onConplete事件

never()不發(fā)送任何事件

error()發(fā)送onError()事件

轉(zhuǎn)換操作符

map()map可以將被觀察者發(fā)送的數(shù)據(jù)類型轉(zhuǎn)換成其他的類型

flatMap() 這個(gè)方法可以將時(shí)間序列中的元素進(jìn)行整合加工,返回一個(gè)新的被觀察者

concatMap() concatMap()和flatMap()基本上是一樣的,只不過concatMap()轉(zhuǎn)發(fā)出來的事件是有序的,而flatMap()是無(wú)序的

buffer()從需要發(fā)送的事件當(dāng)中獲取一定數(shù)量的事件,并將這些事件放到緩沖區(qū)當(dāng)中一并發(fā)出

groupBy()將發(fā)送的數(shù)據(jù)進(jìn)行分組,每個(gè)分組都會(huì)返回一個(gè)被觀察者

scan() 將數(shù)據(jù)以一定的邏輯聚合起來

window()發(fā)送指定數(shù)量的事件時(shí),就將這些事件分為一組。window 中的count的參數(shù)就是代表指定的數(shù)量,例如將count指定為2...

組合操作符

concat() 可以將多個(gè)觀察者組合在一,然后按照之前發(fā)送順序發(fā)送事件。需要注意的是,concat()最多只能發(fā)送4個(gè)事件

concatArray() 與concat()作用一樣,不過concatArray()可以發(fā)送多于4個(gè)被觀察者

merge() 這個(gè)方法和concat()作用基本一樣,只是concat()是串行發(fā)送事件,而merge()并行發(fā)送事件

功能操作符

subscribeOn() 指定被觀察者的線程,要注意的是,如果多次調(diào)用此方法,只有第一次有效

observeOn()指定觀察者的線程,沒指定一次就會(huì)生效一次

過濾操作符

filter() 通過一定邏輯來過濾別觀察者發(fā)送的事件,如果返回true,則會(huì)發(fā)送事件,否則不會(huì)發(fā)送

Observable 生產(chǎn)者,用來生產(chǎn)數(shù)據(jù),只會(huì)在訂閱之后才會(huì)生產(chǎn)

Observer 訂閱者,用來接受生產(chǎn)者生產(chǎn)的數(shù)據(jù)

Disposable 訂閱之后的管理者,可以用來中斷生產(chǎn),釋放資源

線程切換:rxjava的重要,用來處理異步任務(wù)

subscribeOn:表示將生產(chǎn)者置于哪個(gè)調(diào)度器(線程)

observeOn:表示將消費(fèi)者置于哪個(gè)調(diào)度器(線程)

數(shù)據(jù)轉(zhuǎn)換:

map

flatMap

filter

柚子快報(bào)邀請(qǐng)碼778899分享:android Rxjava

http://yzkb.51969.com/

精彩鏈接

評(píng)論可見,查看隱藏內(nèi)容

本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。

轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。

本文鏈接:http://m.gantiao.com.cn/post/18443706.html

發(fā)布評(píng)論

您暫未設(shè)置收款碼

請(qǐng)?jiān)谥黝}配置——文章設(shè)置里上傳

掃描二維碼手機(jī)訪問

文章目錄