Mob Ch2
Mob Ch2
Mob Ch2
Les activités
34
Définition
● Une activité (Activity) = une IHM pour un cas d’utilisation (cf cours UML) :
Exemple : Soit une application d’envoi de SMS
○ Une activité pour choisir un contact dans le répertoire
○ Une activité pour la saisie du message
○ Une activité pour afficher le journal des envois
● Une activité peut être avec ou sans interface utilisateur. Il est possible d’avoir
plusieurs activités dans le même programme. Elle doit toujours être déclarée
dans le fichier Manifest.xml.
● Une activité n’est pas linéaire, elle est soumise à plusieurs évènements.
Chaque événement est représenté dans une méthode. 36
Activité
● Une activité est composée de deux volets:
○ Sa logique métier et la gestion de son cycle de vie
■ Implémentés en Java dans une classe héritant de Activity
○ Son interface utilisateur: deux façons alternatives pour sa
définition
■ Programmative: dans le code de l’activité
■ Déclarative: dans un fichier XML
37
Activité:
Création d’un écran
● Chaque écran est géré par une instance d’une sous-classe de Activity que
vous programmez.
● Vous surchargerez sa méthode onCreate selon ce qui doit être affiché sur
l’écran :
39
Cycle de vie d’une activité
Démarrage d’une Application
● Au début, le système Android lance l’activité qui est marquée action=MAIN et
catégorie=LAUNCHER dans AndroidManifest.xml.
● Ensuite, d’autres activités peuvent être démarrées. Chacune se met « devant » les
autres comme sur une pile. Deux cas sont possibles :
○ La précédente activité se termine, on ne revient pas dedans.
Exemple: une activité où on tape son login et son mot de passe lance l’activité principale et
se termine.
○ La précédente activité attend la fin de la nouvelle car elle lui demande un résultat en retour.
Exemple : une activité de type liste d’items lance une activité pour éditer un item quand on
clique longuement dessus, mais attend la fin de l’édition pour rafraîchir la liste.
40
Cycle de vie d’une activité
https://developer.android.com/guide/components/activities/activity-lifecycle.html
41
Cycle de vie d’une activité
https://developer.android.com/guide/components/activities/activity-lifecycle.html
42
Cycle de vie d’une activité
https://developer.android.com/guide/components/activities/activity-lifecycle.html
43
Cycle de vie d’une activité
https://developer.android.com/guide/components/activities/activity-lifecycle.html
44
Cycle de vie d’une activité
https://developer.android.com/guide/components/activities/activity-lifecycle.html
45
Cycle de vie d’une activité
https://developer.android.com/guide/components/activities/activity-lifecycle.html
46
Cycle de vie d’une activité
https://developer.android.com/guide/components/activities/activity-lifecycle.html
47
Cycle de vie d’une activité
https://developer.android.com/guide/components/activities/activity-lifecycle.html
48
Cycle de vie d’une activité
https://developer.android.com/guide/components/activities/activity-lifecycle.html
49
Cycle de vie d’une activité
https://developer.android.com/guide/components/activities/activity-lifecycle.html
51
Activité
Récapitulons !!!!
Chaque activité doit :
• Être définie dans un fichiers .java à part
•Hériter (directement ou indirectement) de la classe android.app.Activity
52
Activité
Récapitulons !!!!
• Implémenter la méthode onCreate() pour définir le comportement de l’activité à sa création.
• Appeler la méthode setContentView() dans le code de onCreate pour définir le layout de cette
activité (fichier Layout XML associé)
53
Activité
Récapitulons !!!!
L’implémentation des autres méthodes de transition (onPause, onDestroy …) est optionnelle
54