RXJAVA
REACTIVE PROGRAMMING IN ANDROID
Ensar Sarajčić
Slide 2
Slide 2 text
REACTIVE PROGRAMMING IN ANDROID
(FUNCTIONAL) REACTIVE PROGRAMMING
▸ Real time applications
▸ Observables (Streams)
▸ Event chains
Event timeline
Slide 3
Slide 3 text
REACTIVE PROGRAMMING IN ANDROID
BASIC EVENT CHAIN EXAMPLE
Slide 4
Slide 4 text
REACTIVE PROGRAMMING IN ANDROID
WHY USE IT IN ANDROID?
▸ Mobile apps in general can benefit from reactive design
▸ Focus is greater on user experience and events, rather
than computation and logic
▸ Keep code understandable by focusing more on business
logic
▸ Asynchronous operations
Slide 5
Slide 5 text
REACTIVE PROGRAMMING IN ANDROID
SAMPLE APP
▸ Using GitHub API
▸ Fetch users, live search
▸ Download images asynchronously
▸ Fetch repos
▸ RxJava, RxAndroid, RxBindings
Slide 6
Slide 6 text
REACTIVE PROGRAMMING IN ANDROID
LIVE SEARCH - TWO DIFFERENT APIS
Slide 7
Slide 7 text
REACTIVE PROGRAMMING IN ANDROID
SEARCH API
Slide 8
Slide 8 text
REACTIVE PROGRAMMING IN ANDROID
GET USERS API
Slide 9
Slide 9 text
REACTIVE PROGRAMMING IN ANDROID
COMPOSITE SUBSCRIPTION
▸ All subscriptions in one place for easy unsubscribing
Slide 10
Slide 10 text
REACTIVE PROGRAMMING IN ANDROID
SEARCH STREAMS
Slide 11
Slide 11 text
REACTIVE PROGRAMMING IN ANDROID
FILTERING AND MERGING
Slide 12
Slide 12 text
REACTIVE PROGRAMMING IN ANDROID
DOWNLOADING IMAGES AND FETCHING REPOS