tp_mvc_android
Préambule : MVC
Une architecture type selon le paradigme MVC
En Java
Les sources du modèle Calculette sont ici : http://douin.free.fr/tp4Calculette/ ou ici
Sur la plate forme Android, à un écran est associé une "activity", assimilable à la vue selon le découpage MVC. Les composants graphiques de l'interface décrits en XML sont accessibles depuis cette activité. C'est au sein de cette activité que les "listeners" sont associés au comportement des composants graphiques. L'activité devient le contrôleur des actions de l'utilisateur.
Sous Android
Déploiement sur plate forme Android
Développez l'activité Calculette pour Android
Une idée d'interface pourrait être :
soit l'usage par exemple de ces composants graphiques,
ou tout autre interface ...
Par exemple le bouton (Button) pourrait être remplacé (ImageButton) (www.iconfinder.com pour les images)
Le code source de la méthode onCreate, redéfinie au sein de l'activité pourrait être :
Cette méthode onCreate est appelée au démarrage de l'activité, comme le montre ce diagramme d'états d'une activité sous Android
Persistance à l'aide des Bundle
La rotation de l'écran entraîne une nouvelle création de l'activité, la
méthode onSaveInstanceState est appelée avant sa destruction,
onRestoreState lorsque cette activité est de nouveau créée, au premier plan.
Une solution serait d'utiliser le Bundle en paramètre,
http://developer.android.com/reference/android/os/Bundle.html
http://stackoverflow.com/questions/151777/how-do-i-save-an-android-applications-state
Prenez en compte cette rotation de l'écran dans votre activité
Note : la commande de rotation de l'écran de l'émulateur
s'effectue avec Ctrl + F11,
https://developer.android.com/studio/run/emulator
Envoi de SMS
A chaque mauvaise entrée de nombre, envoyez un SMS au deuxième émulateur installé sur le même poste, le contenu contient le message de l'exception ...
L'envoi est effectué selon les deux façons, présentées sur les transparents 56,57 et 58 du support de cours
Une exception est levée -> un sms est envoyé, second émulateur ici numéro de tél. 5556, "exception over the air"
https://developer.android.com/studio/run/emulator