I’m currently enrolled in the Nanodegree created by Udacity in partnership with Google, called “The Android Developer “. I’ve developed the first stage of an application using MVP and I submitted it. That’s a part of a very simple application that consumes the Spotify API, nothing exceptional. I’ve developed this project using MVP architecture and I’ve “programmed to an interface” to be able to do inversion of control. I’ve used Dagger Framework to inject dependencies and Mockito Framework to do some unit tests with mock objects and JUnit (AndroidTestCase) to do some tradicional unit tests. My view layer is the more passive as possible and in this way I can focus my unit tests on presenter and model layers. I like to strongly separate each layer and charge the presenter to call the other layers.
That’s the github repository url as you want to see the code: https://github.com/tassioauad/SpotifyStreamer