This is RxJava
tutorial based on RxJava2
RxJava
Anatomy, how RxJava
is designed
Module operator
and Module practice
This module contains frequently used RxJava operators tutorial
-
Basic Usage:
Observable
subscribeObserver
-
Thread Scheduler: how to change the event execute thread with
subscribeOn()
andobserveOn()
-
Create Observable: 1. create it with collection
create
,just
,fromArray
,fromIterable
2. create it special oneempty
,error
,never
3. create it with timedefer
,timer
,interval
,intervalRange
,range
,rangeLong
-
Transform Observable Type:
map
,flatMap
,concatMap
,concatMap
,buffer
-
Combine Observable:
concat
,concatDelayError
,merge
,mergeDelayError
,startWith
-
Combine Observable onNext Event:
zip
,combineLatest
,reduce
,collect
, (count
get events total count) -
Codition Boolean:
all
,takeWhile
,skipWhile
,takeUntil
,skipUntil
,sequenceEqual
,contains
,isEmpty
,amb
,defaultIfEmpty
-
Back Pressure
- (Async) Flowable Subscriber work on different thread
- (Sync) Flowable Subscriber work on same thread
- (Strategy)
error
,missing
,buffer
,drop
,latest
-
Filter
- Event Condition Filter:
filter
,ofType
,skipIndex
,skipTime
,distinct
,distinctUntilChanged
- Event Position Filter:
firstElement
,lastElement
,elementAt
,elementAtOrError
- Event Size Filter:
take
,takeLast
- Event Time Filter:
throttleFirst
,throttleLast
,sample
,throttleWithTimeOut
,debounce
- Event Condition Filter:
This module contains pratical situation in an Application, and how to get it with RxJava
-
How to fetch a network response with
Retrofit
,Okhttp
andRxJava
-
How to bridge view's events with
RxJava
-
How to implement a polling request easily with
RxJava
-
How to implement a network request failed retry logic easily with
RxJava
-
How to implement a nesting request (register success login immediately) exsily with
RxJava
-
How to implement a multiple level cache logic easily with
RxJava
-
How to handle a multiple data source logic easily with
RxJava
-
How to throttle events triggered by the user easily with
RxJava
(user click button frequently but only invokeonClick()
once in a time) -
How to throttle events and handle the latest one easily with
RxJava
(search input view tips)