Page 2
R X J AVA 2 F R O M ( N O T ) S C R AT C H
R O B E R T O O R G I U
Page 3
– E V E R Y O N E , W H E N R X J AVA 2 W A S A N N O U N C E D
“I am on RxJava 1… am I doomed?”
Page 4
R X J AVA A N D R X J AVA 2 C A N B E U S E D AT T H E S A M E T I M E
N O P E
Page 5
compile ‘io.reactivex:rxjava:1.2.7’
Page 6
compile ‘io.reactivex:rxjava:1.2.7’
compile 'io.reactivex.rxjava2:rxjava:2.0.7'
Page 8
rx.Observable
reactivex.Observable
Page 9
rx.Observable
rx.functions.*
RXJAVA
Page 10
reactivex.Observable
reactivex.functions.*
RXJAVA 2
Page 11
FuncN<T,R>
R call(T data)
Page 12
FuncN<T,R>
R call(T data)
Function<T,R>
R apply(T data)
Page 13
FuncN<T,R>
R call(T data)
Function<T,R>
R apply(T data)
Page 14
Func1<T,R> Function<T,R>
Func2<T,R> BiFunction<T,R>
Func3<T,R> Function3<T,R>
Page 15
Action1<T>
call(T data)
Page 16
Action1<T>
call(T data)
Consumer<T>
accept(T data)
Page 17
Action1<T>
call(T data)
Consumer<T>
accept(T data)
Page 18
Action0
call()
Consumer
accept()
Page 19
Action0
call()
Action
run()
Page 20
rx.Observable
RXJAVA
Page 21
rx.Observable
RXJAVA
reactivex.Observable reactivex.Flowable
RXJAVA 2
Page 22
reactivex.Observable
RXJAVA 2
• ~1k elements • GUI & touch events • Synchronous flow
Page 23
reactivex.Flowable
RXJAVA 2
• 10k+ elements • Reading from file, databases and network • Blocking/pull-based data source
Page 24
Single
RXJAVA
Completable
Page 25
Single*
RXJAVA 2
Completable
Maybe
* has been totally redesigned
Page 26
Maybe
RXJAVA 2
onSubscribe (onSuccess | onError | onComplete)?
Page 28
Observable.from()
RXJAVA
Page 29
Observable.fromArray()
RXJAVA 2
Observable.fromIterable()
Observable.fromFuture()
Page 30
Observable.create()
RXJAVA
Page 31
Observable.create()
RXJAVA 2
Page 32
Observable.create()
RXJAVA 2
Observable.fromAsync()
Page 33
M O R E A B O U T R X J AVA 2
https://github.com/ReactiveX/RxJava/wiki/What's-different-in-2.0
https://caster.io/courses/rxjava2/
Page 34
D O Y O U H AV E A N Y Q U E S T I O N ?
T H A N K S F O R Y O U R AT T E N T I O N !