Party tricks with RxJava, RxAndroid & Retrolambda

All the cool kids are doing it, why aren’t you?

“Users expect real time data. They want their tweets now. Their order confirmed now”. As a developer, you demand fire-and-forget messaging. You really don’t want to be blocked waiting for a result… You want to have the result pushed to you when it is ready, whenever that is. Even better, when working with big result sets, you want to receive individual results as they are ready because you don’t want to wait for the entire set to be processed before you see the first item on that list. Developers have lots of tools to push data, that’s easy. Developers need tools to react to pushed data.

Let there be light… even better… Reactive Extensions!

Described as “a library for composing asynchronous and event-based programs by using observable sequences” it is very well suited for introducing and managing concurrency for the purpose of offloading. That is, performing a given set of work concurrently to free up the current thread (usually the UI thread). A very popular use of this is to maintain a responsive UI, which is essential for a great mobile user experience!

I’ve been assembling a few usage examples as I learn how to use them in the last couple of months and I’ve decided to share them…

Just remember: