For the More Curious: Local Events
Broadcast intents allow you to propagate information across the system in a global fashion. What if you want to broadcast the occurrence of an event within your app’s process only? Using an event bus is a great alternative.
An event bus operates on the idea of having a shared bus, or stream of data, that components within your application can subscribe to. When an event is posted to the bus, subscribed components will be activated and have their callback code executed.
EventBus by greenrobot is a third-party event bus library we have used in some of our Android applications. You could also use Square’s Otto, which is another event bus implementation, or RxJava Subjects and Observable.