Guava's EventBus and Android's async tasks
Android requires that you do all network processing on non-UI threads. This is good business as it means unexpected exceptions aren't going to crash your app. It can be a little problematic when you need to be notified of the different outcomes of your various network activity. You need to notify an activity, it needs to notify one of it's components.
https://gist.github.com/3795510
https://gist.github.com/3795572
https://gist.github.com/3795616
The Guava EventBus Approach
https://gist.github.com/3795675
You have to define those events but they can be empty or you can wrap anything you need in them.
https://gist.github.com/3795689
Then all you have to do is subscribe for the event from the activity. It doesn't matter what you call the method... what matters is the parameter must match an event that will be put on the message bus.
https://gist.github.com/3795715
Why is the event bus better?
Well it decouples the method responding to the outcome of the network activity or whatever from the task doing this. You don't have to pass a reference of the thing doing the responding to the task. Another benefit here is that anything can register to respond to this event. Be it the activity, or one of it's fragments, it's action bar, or whatever. Nice!