Many Android apps are generally written with business logic and data requisition and manipulation all mixed with UI code in activities and fragments. The lack of control over the lifecycles of god objects such as activities further complicates Android app architectures. Without a clear architectural paradigm, testing of this hodge-podge code also becomes a nightmare.

In this talk, we will explore how the Model-View-Presenter pattern can help us achieve clean architecture, separation of concerns and testability which all contribute to building better Android apps.