Slide 1

Slide 1 text

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

Slide 13

Slide 13 text

REACTIVE PROGRAMMING IN ANDROID COMBINE LATEST

Slide 14

Slide 14 text

QUESTIONS? https://github.com/esensar/rxjava-github Source code: