In this episode of Fragmented, Donn and Kaushik continue their conversation with Dan Lew on RxJava. In the final part of this 2 part series, they talk about many useful RxJava operators and other intricacies of using RxJava in Android.

Show Notes RxJava Operators: * Observable.just [reactivex.io] * Observable.from [reactivex.io] * Observable.defer [reactivex.io] + Using defer to handle “Old, Slow Code” [blog.danlew.net] * Observable.map [reactivex.io] * Observable.flatmap [reactivex.io] + map vs flatmap (alchemist and cheese shredding analogy [reddit]) * Observable.zip [reactivex.io] * Observable.combineLatest [reactivex.io] * Observable. switchMap [reactivex.io] * Observable.distinctUntilChanged [reactivex.io] * Observable.lift explanation [reactivex.io] * Observable.compose + Don’t break the chain (using compose) [blog.danlew.net] * Observable.filter [reactivex.io] * Observable.take [reactivex.io] * subscribeOn vs observeOn [stackoverflow.com] * Understanding debounce, buffer, debouncedBuffer [nerds.weddingpartyapp.com]

RxJava Components: * Subjects: when is it appropriate to use [.net but still applies] [[davesexton.com] 19] * Implementing an event bus using RxJava [nerds.weddingpartyapp.com] * RxJava plugins [github.com] + RxJavaDebug plugin - for hooking to start/end/error [github.com] * .toBlocking() [reactivx.io] * Composite Subscriptions [reactivex.io]

Retrolambda * Retrolambda library [github.com] * Retrolambda gradle plugin [github.com] * Common Issue with Retrolambda (NoClassDefFoundError) [github.com]

Hot vs Cold observables - From the RxJs wiki [github.com] * uses js instead of java, but concepts are the same and this is the best explanation I’ve found so far.

RxJava wiki on Backpressure [github.com]: * Ring buffer size: System.setProperty("rx.ring-buffer.size", "128"); * Issue with changing buffer ring size [github.com] * It’s 16 on Android, down from 1024 originally. :P So it’s actually 64x smaller.

Awesome picks: Dan Lew:

  • Simple Made Easy (talk by Rich Hickey creator of Clojure) [infohq]
  • Victor by Trello (SVG assets) [github.com]

Donn:

  • Realm Object Database [realm.io]

Kaushik:

  • Therapeutic Refactoring (talk by Katrina Owen) [youtube.com]

Contact Dan Lew * @danlew42 [twitter.com] * Dan Lew’s blog [danlew.net]

Donn Felker * @donnfelker [twitter.com] * donnfelker.com

Kaushik Gopal * @kaushikgopal [twitter.com] * kaush.co