A recent post from Mark Hudnall's blog discusses the purpose and implementation of RxJava, which is a Java implementation of FRP (Functional Reactive Programming). RxJava can do a lot to help manage user interaction, particularly while updating the UI during user interactions or working in the background. Hudnall's post covers the topic from a few different angles:
- The AsyncTask techniques of the past
- The RxJava alternative
- Composition of logically separated tasks
- Responding to user interaction
While there are a few pitfalls that Hudnall points out, RxJava looks, for the most part, like a promising alternative to Android's AsyncTask class. Check out Hudnall's full post for all the details, and maybe you can keep some of Android's less cooperative aspects from driving you crazy.