Explaining MVP

MVP, in a nutshell, is a design pattern that achieves proper layering and separation of concerns of your presentation layer, business logic and data model. Following this design would result in your application being much more maintainable and testable. This is what MVP looks like in Android: