Requires a pro subscription Pro

MVP on Android

In this course, you will learn how to build an Android app using the Model-View-Presenter presentation architecture pattern. By Joe Howard.

Login to leave a rating/review
Save for later
Share

Learning path

This is part of the Android Architecture learning path. View Path.

1
Toggle description

Let's review what you will be learning in this course, including a brief discussion on the benefits of MVP and the course sample project

MVP 4:03
Toggle description

Learn about the need for architecture patterns like MVP and define the components of an MVP-based app.

Toggle description

Create the Model classes for the course sample project, including adding JUnit tests of Model classes.

Toggle description

Create a repository interface for saving your Model data, and implement a concrete version of the repository using the Room database library.

Toggle description

See how interfaces and contracts are used with the MVP pattern, and define the Presenter interface and a BasePresenter class.

Toggle description

Examine the XML layout file and Kotlin class that constitute the Add Creature screen, and define and implement the MVP View interface.

Toggle description

Implement the Presenter interface in a concrete class that extends from the BasePresenter class, and call the Presenter from the View.

Toggle description

Use JUnit to add unit tests to verify the functionality of the Presenter, while utilizing Mockito to mock dependent classes.

Toggle description

Prove out your understanding of writing Presenter tests by adding more tests to verify the correct functionality of the Presenter.

Toggle description

Add the ability for the Presenter to save data into the repository when receiving a save user event from the View.

Toggle description

Put your new MVP skills to work by creating a Presenter for the All Creatures screen that shows a list of all creatures in the repository.

Conclusion 2:07
Toggle description

Review what you learned in the course and learn about other potential architecture patterns for your Android apps.