$30 off During Our Annual Pro Sale. View Details »

Introduction to RxJava in Android

Introduction to RxJava in Android

Presentation held on Mobile Meetup in Sarajevo 04.06.2016.
This presentation was used to learn basics of RxJava and reactive programming in general and start up a talk on it.

More info on: https://github.com/esensar/rxjava-github

Ensar Sarajčić

June 04, 2016
Tweet

Other Decks in Programming

Transcript

  1. RXJAVA
    REACTIVE PROGRAMMING IN ANDROID
    Ensar Sarajčić

    View Slide

  2. REACTIVE PROGRAMMING IN ANDROID
    (FUNCTIONAL) REACTIVE PROGRAMMING
    ▸ Real time applications
    ▸ Observables (Streams)
    ▸ Event chains
    Event timeline

    View Slide

  3. REACTIVE PROGRAMMING IN ANDROID
    BASIC EVENT CHAIN EXAMPLE

    View Slide

  4. 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

    View Slide

  5. REACTIVE PROGRAMMING IN ANDROID
    SAMPLE APP
    ▸ Using GitHub API
    ▸ Fetch users, live search
    ▸ Download images asynchronously
    ▸ Fetch repos
    ▸ RxJava, RxAndroid, RxBindings

    View Slide

  6. REACTIVE PROGRAMMING IN ANDROID
    LIVE SEARCH - TWO DIFFERENT APIS

    View Slide

  7. REACTIVE PROGRAMMING IN ANDROID
    SEARCH API

    View Slide

  8. REACTIVE PROGRAMMING IN ANDROID
    GET USERS API

    View Slide

  9. REACTIVE PROGRAMMING IN ANDROID
    COMPOSITE SUBSCRIPTION
    ▸ All subscriptions in one place for easy unsubscribing

    View Slide

  10. REACTIVE PROGRAMMING IN ANDROID
    SEARCH STREAMS

    View Slide

  11. REACTIVE PROGRAMMING IN ANDROID
    FILTERING AND MERGING

    View Slide

  12. REACTIVE PROGRAMMING IN ANDROID
    DOWNLOADING IMAGES AND FETCHING REPOS

    View Slide

  13. REACTIVE PROGRAMMING IN ANDROID
    COMBINE LATEST

    View Slide

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

    View Slide