• MVC
– un rappel
• Mise en œuvre avec Android
– Une activité
– Une IHM
– Un modèle
• Exemple d’utilisation de code j2se existant
Avertissement, pré-requis et question
• Pré requis indispensable
– Avoir réalisé le tp mvc,
– Un tp utilisant une calculette à pile
• Question ?
– Comment assurer un couplage faible des classes
– Observable/Observateur
– IHM/Vue et Listener/Contrôleur
Pré requis, rappel
• Pré requis
– TP Calculette à pile déjà réalisé J2SE
• Thème : Modèle Vue Contrôleur
– http://lmi92.cnam.fr/progAvancee/tp4_2012.jar
• Un usage de cette applette à cette URL est fortement conseillé
>appletviewer http://jfod.cnam.fr/eicnam/tp_mvc/tp_mvc.html
Discussions … entre nous
• Le modèle pourrait être la calculette constituée pour ses calculs internes d’une pile,
• Pourquoi les « listeners » des boutons sont-ils locaux au contrôleur ?
• Pourquoi un JPanel pour le contrôleur ?
• Ce choix de découpage MVC vous parait-il réaliste ?
– Discussion, blabla, blabla, blabla
Nouvelle architecture
En conséquence
Au tp
• Le Modèle est une pile (classe PileModele<T>).
• La Vue correspond à l’affichage de l’état de la pile (classe Vue).
• Le Contrôleur gère les évènements issus des boutons +, -, *, /,[].
Architecture retenue
• Le Modèle est une calculette
• La Vue correspond à l’IHM (au complet).
• Le Contrôleur gère les évènements issus des boutons +, -, *, /,[]
Architecture retenue
• Le Modèle
– La calculette munie de ses opérations (+,-,/,*,…)
• Hérite de la classe java.util.Observable
• Les sources du modèle sont ici
– http://douin.free.fr/tp4Calculette/
• La Vue
– L’IHM affichage, zone de saisie, boutons …
• Implémente java.util.Observer
• Le Contrôleur
– Réalisation, implémentation des listeners, (le comportement de l’IHM)
• Implémente plusieurs ActionListener
-> pour Android, quel découpage ?, quelles classes ?
Architecture pour Android
• Le Modèle est inchangé
– La calculette munie de ses opérations (+,-,/,*,…)
– http://douin.free.fr/tp4Calculette/
• L’activity est associée à un écran, elle est constituée
– La Vue
• L’IHM affichage, zone de saisie, boutons … description XML
– Le Contrôleur
• Réalisation, implémentation des listeners, (le comportement de l’IHM)
• Implémente plusieurs OnClickListener
…..
Cours Android (701 Ko) (Cours PDF)