鍍金池/ 教程/ Android/ RxJavaSchedulersHook
調度器 Scheduler
Empty/Never/Throw
Replay
這個頁面展示了創(chuàng)建Observable的各種方法。
ObserveOn
ReactiveX
TimeInterval
Window
本頁展示的操作符用于對整個序列執(zhí)行算法操作或其它操作,由于這些操作必須等待數據發(fā)射完成(通常也必須緩存這些數據),它們對于非常長
IgnoreElements
Distinct
Last
Start
And/Then/When
Switch
創(chuàng)建操作
Materialize/Dematerialize
CombineLatest
Catch
實現自己的操作符
StringObservable
Map
ConnectableObservable
Using
Take
BlockingObservable
TakeLast
Defer
RxJavaSchedulersHook
First
FlatMap
這個頁面的操作符可用于根據條件發(fā)射或變換Observables,或者對它們做布爾運算:
Do
Repeat
Serialize
這個頁面展示的操作符可用于過濾和選擇Observable發(fā)射的數據序列。
這個頁面列出了很多用于Observable的輔助操作符
Single
Retry
從錯誤中恢復的技術
Sample
Merge
算術和聚合操作
Range
Timestamp
RxJava Issues
From
Subscribe
Subject
Delay
Skip
SubscribeOn
Filter
按字母順序排列的全部操作符列表
Timeout
Scan
onError
Zip
RxJava文檔和教程
Publish
ElementAt
第一個例子
SkipLast
Just
Timer
Debounce
GroupBy
條件和布爾操作
這個頁面展示了可用于對Observable發(fā)射的數據執(zhí)行變換操作的各種操作符。
Introduction
rxjava-async
介紹響應式編程
這個頁面展示的操作符可用于組合多個Observables。
ReactiveX
Connect
操作符分類
StartWith
Interval
Join
To
Buffer
RefCount
介紹
Observable

RxJavaSchedulersHook

這個插件讓你可以使用你選擇的調度器覆蓋默認的計算、IO和新線程調度 (Scheduler),要做到這些,需要繼承 RxJavaSchedulersHook 類并覆寫這些方法:

  • Scheduler getComputationScheduler(?)
  • Scheduler getIOScheduler(?)
  • Scheduler getNewThreadScheduler(?)
  • Action0 onSchedule(action)

然后是下面這些步驟:

  1. 創(chuàng)建一個你實現的 RxJavaSchedulersHook 子類的對象。
  2. 使用 RxJavaPlugins.getInstance(?) 獲取全局的RxJavaPlugins對象。
  3. 將你的默認調度器對象傳遞給 RxJavaPluginsregisterSchedulersHook(?) 方法。

完成這些后,RxJava會開始使用你的方法返回的調度器,而不是內置的默認調度器。

RxJavaErrorHandler

這個插件讓你可以注冊一個函數處理傳遞給 Subscriber.onError(Throwable) 的錯誤。要做到這一點,需要繼承 RxJavaErrorHandler 類并覆寫這個方法:

  • void handleError(Throwable e)

然后是下面這些步驟:

  1. 創(chuàng)建一個你實現的 RxJavaErrorHandler 子類的對象。
  2. 使用 RxJavaPlugins.getInstance(?) 獲取全局的RxJavaPlugins對象。
  3. 將你的錯誤處理器對象傳遞給 RxJavaPluginsregisterErrorHandler(?) 方法。

完成這些后,RxJava會開始使用你的錯誤處理器處理傳遞給 Subscriber.onError(Throwable) 的錯誤。

RxJavaObservableExecutionHook

這個插件讓你可以注冊一個函數用于記錄日志或者性能數據收集,RxJava在某些常規(guī)活動時會調用它。要做到這一點,需要繼承 RxJavaObservableExecutionHook 類并覆寫這些方法:

方法 何時調用
onCreate(?) Observable.create(?)方法中
onSubscribeStart(?) Observable.subscribe(?)之前立刻
onSubscribeReturn(?) Observable.subscribe(?)之后立刻
onSubscribeError(?) Observable.subscribe(?)執(zhí)行失敗時
onLift(?) Observable.lift(?)方法中

然后是下面這些步驟:

  1. 創(chuàng)建一個你實現的 RxJavaObservableExecutionHook 子類的對象。
  2. 使用 RxJavaPlugins.getInstance(?) 獲取全局的RxJavaPlugins對象。
  3. 將你的Hook對象傳遞給 RxJavaPluginsregisterObservableExecutionHook(?) 方法。

When you do this, RxJava will begin to call your functions when it encounters the specific conditions they were designed to take note of. 完成這些后,在滿足某些特殊的條件時,RxJava會開始調用你的方法。