Skip to content

andrzejchm/DroidMVP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

fb69530 · Jan 22, 2018

History

54 Commits
Jun 21, 2016
Aug 10, 2016
Jul 10, 2016
Aug 10, 2016
Aug 10, 2016
Aug 10, 2016
Jun 21, 2016
Jun 21, 2016
Jan 22, 2018
Jun 21, 2016
Aug 10, 2016
Jun 23, 2016
Jun 21, 2016
Jun 21, 2016
Jun 21, 2016
Jun 23, 2016
Jul 10, 2016

Repository files navigation

DroidMVP

mvp diagram

Release Android Arsenal CircleCI

About

DroidMVP is a small Android library to help you incorporate the MVP pattern along with Passive View and Presentation Model (yes, those can be combined together :) ) within your Android project.

Explanation

mvp diagram

A short explanation of PassiveView, PresentationModel and how to use it with DroidMVP can be found [in this article](https://medium.com/@andrzejchm/presentation-model-and-passive-view-in-mvp-the-android-way-fdba56a35b1e)

Setup

Add it in your root build.gradle at the end of repositories:

allprojects {
  repositories {
      ...
      maven { url "https://jitpack.io" }
  }
}

Add the dependency to your app's build.gradle

  dependencies {
    compile 'com.github.andrzejchm:DroidMVP:0.1.3'
  }

Composition over inheritance

If by any chance you cannot extend from DroidMVPActivity or DroidMVPFragment you can always use the DroidMVPViewDelegate. Just make sure to bind it with your activity's or fragment's lifecycle the same way the DroidMVPFragment or DroidMVPActivity does it.

Dependency Injection

This library makes it easy to use it with dependency injection frameworks like Dagger. To see how it could be done, check out the Sample project, specifically the BaseFragment or BaseActivity

Sample Project

A small android app which uses Dependency Injection along with DroidMVP can be found here

Without dagger can be found here.

With Parcelable PresentationModel can be found here.

Donation

If you think the library is awesome and want to buy me a beer, you can do so by sending some...

  • Ethereum ETH here: 0xf7354a0F7B34A380f6d68a2661bE465C10D6AEd7
  • Bitcoin BTC here: 12bU3BMibFqbBBymaftXTDnoHojFymD7a6
  • NEO NEO or GAS here: AX1ovzRN2N28WJrtehjYXjwtHSvcqva6Ri