Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.
ANDROID MVP
Jeff Potter
@jpotts18
github.com/jpotts18
MOTIVATION
• Activities with millions of callbacks. God objects.
• Single Responsibility Principle
• https://github.com/an...
MVP RESPONSIBILITIES
• The model defines the data to be displayed or
acted upon.
• The view is a passive interface that dis...
MVP
ModelPresenterView
User Events
MVP
ModelPresenterView
User Events Update Model
MVP
ModelPresenterView
User Events Update Model
State Changed Event
MVP
ModelPresenterView
User Events Update Model
UpdateViews State Changed Event
LOGIN MVP
Network

Interactor
PresenterActivity
loginTapped
LOGIN MVP
Network

Interactor
PresenterActivity
loginTapped attemptLogin()
LOGIN MVP
Network

Interactor
PresenterActivity
loginTapped attemptLogin()
networkFailure()
networkSuccess()
LOGIN MVP
Network

Interactor
PresenterActivity
loginTapped attemptLogin()
networkFailure()
networkSuccess()
loginFailure(...
LET’STRY IT!
$ git clone git@github.com:jpotts18/android-mvp.git
GOAL
• Demonstrate MVP
• Switch out Model without affecting theView
• Switch out theView without affecting the Model
Próxima SlideShare
Cargando en…5
×

Android Architecture MVP Pattern

3.200 visualizaciones

Publicado el

Explanation of Android MVP Architecture Pattern. This slide deck is used to explain the principles behind the pattern. It has a companion github repository which helps demonstrate the pattern.

https://github.com/jpotts18/android-mvp

Publicado en: Tecnología
  • Hello. I have downloaded your project https://github.com/jpotts18/android-mvp to explore but it will not compile. Error in the import package retofit, it does not exist. In both "build.gradle" no dependencies to Retofit. Could you help?
       Responder 
    ¿Estás seguro?    No
    Tu mensaje aparecerá aquí

Android Architecture MVP Pattern

  1. 1. ANDROID MVP Jeff Potter @jpotts18 github.com/jpotts18
  2. 2. MOTIVATION • Activities with millions of callbacks. God objects. • Single Responsibility Principle • https://github.com/antoniolg/androidmvp • http://en.wikipedia.org/wiki/ Single_responsibility_principle
  3. 3. MVP RESPONSIBILITIES • The model defines the data to be displayed or acted upon. • The view is a passive interface that displays data and routes user events. • The presenter retrieves data from the model, and notifies the view to display it.
  4. 4. MVP ModelPresenterView User Events
  5. 5. MVP ModelPresenterView User Events Update Model
  6. 6. MVP ModelPresenterView User Events Update Model State Changed Event
  7. 7. MVP ModelPresenterView User Events Update Model UpdateViews State Changed Event
  8. 8. LOGIN MVP Network
 Interactor PresenterActivity loginTapped
  9. 9. LOGIN MVP Network
 Interactor PresenterActivity loginTapped attemptLogin()
  10. 10. LOGIN MVP Network
 Interactor PresenterActivity loginTapped attemptLogin() networkFailure() networkSuccess()
  11. 11. LOGIN MVP Network
 Interactor PresenterActivity loginTapped attemptLogin() networkFailure() networkSuccess() loginFailure() loginSuccess()
  12. 12. LET’STRY IT! $ git clone git@github.com:jpotts18/android-mvp.git
  13. 13. GOAL • Demonstrate MVP • Switch out Model without affecting theView • Switch out theView without affecting the Model

×