Book Image

RxJava Essentials

By : Ivan Morgillo
Book Image

RxJava Essentials

By: Ivan Morgillo

Overview of this book

<p>RxJava—Reactive Extensions for the JVM—is a library for composing asynchronous and event-based programs using Observable sequences for the Java VM, which will help you beat Android platform limitations to create astonishing Android apps.</p> <p>Starting with some quick background information on the Rx .NET library, this book quickly moves on to your first example. You will understand Observables and learn to filter, transform, or merge them in detail. Next, you will learn how to get rid of Threads, AsyncTasks, and Handlers with Schedulers to create a smooth user experience. Develop an easy, ready-to-go approach to REST API communications and enrich your skills by working with new challenging examples.</p> <p>By the end of the book, you will have explored the reactive programming world and will have created your first Android app without having to think about threading, networking, concurrency, and collection management.</p> <p>The images have been taken from&nbsp;<a href="http://reactivex.io/" target="_blank">http://reactivex.io/</a> which is licensed under a Create Commons 3.0 Attribution license (<a href="https://creativecommons.org/licenses/by/4.0/" target="_blank">https://creativecommons.org/licenses/by/4.0/</a>)</p>
Table of Contents (15 chapters)

Start the engine!


We are going to use IntelliJ IDEA/Android Studio for this project, so the screenshots should look familiar to you.

Let's dive in and create a new Android project. You can create your own project or import the one provided with the book. It's up to you to choose your preferred setup.

If you want to create a new project with Android Studio, as usual, you can refer to the official documentation at http://developer.android.com/training/basics/firstapp/creating-project.html:

Dependencies

Obviously, we are going to use Gradle to manage our dependencies list. Our build.gradle file will look like this:

As you can see, we are importing RxAndroid. RxAndroid is an enhancement of RxJava, specifically designed for Android.

RxAndroid

RxAndroid is part of the RxJava family. It's based on RxJava 1.0.x, and it adds a few useful classes to the vanilla RxJava. Most of all, it adds specific Schedulers for Android. We will deal with Schedulers in Chapter 7, Schedulers – Defeating the Android MainThread...