MVP for Android Apps

I’ve been working on my first (and very simple) Android application. I’ve been using a Model View Presenter approach and wondering if this is a typical pattern used by Android developers.

The main Activity is acting as the view and I pass it into the Presenter so both are aware of each other as illustrated below. The Presenter itself implements an IObserver interface that watches for state changes in the model, by having the model call IObserver.update. The Presenter then queries the Model’s state.

The Model’s job is to manage it’s own state and that of the ViewModels it returns, which are then bound to the Activity by the Presenter.

It seems to working quite well for me and avoids all the approaches I see online wherein people put business logic into the Activity itself.


MVP Android

Published by

David Starr

David Starr is Director of Technical Learning at GoDaddy. He is a professional software craftsman committed to improving agility, collaboration, and technical excellence in software development teams. He is the founder of Elegant Code Solutions, has served in numerous leadership contexts, and was as an early and consistent advocate for agile software development. He has successfully led product development initiatives and organizational transitions in numerous positions including Chief Software Craftsman at, Sr. Program Manager for Visual Studio and Team Foundation Server at Microsoft, Chief Software Architect, Director of Product Development, Pluralsight Author, independent consultant, and trainer. David’s professional focus is on all aspects of developing, delivering, and operating software systems. With specific attention on the end-to-end process, methods, and practices of high performing development teams, his skills transcend specific technology stacks, although he has has a specific skills focusing on the Microsoft stack. He speaks at various international conferences, is a frequent guest on various podcasts, author of articles throughout the technology industry, and the founder of Elegant Code Solutions. He is a 5 time Microsoft MVP in Visual Studio ALM.

2 thoughts on “MVP for Android Apps”

Comments are closed.