Académique Documents
Professionnel Documents
Culture Documents
Accueil > Cours > Développez votre première application Android > Appréhendez le cycle de vie d'une activité
Perfectionnez
Appréhendez le cycle de vie d'une activité votre
application
. Récupérez le score
du joueur dans
l'activité principale
. Mémorisez les
préférences du
joueur
. Améliorez
l'expérience
utilisateur
Nous allons étudier dans ce cours comment fonctionne le cycle de vie d'une activité. C'est
. Appréhendez le
un sujet très important que tout développeur Android doit savoir maîtriser. Non, je ne
cycle de vie d'une
vous mets pas la pression. Et de toute façon, comme le disait Desproges : la pression, je activité
préfère la boire plutôt que la subir.
. Tournez votre
équipement : que
Description
se passe-t-il ?
Lorsque votre réveil sonne le matin, vous passez de l'état endormi à l'état réveillé. Ensuite,
Créé par
lorsque vous vous levez puis vous préparez à aller travailler, vous passez de l'état réveillé à
opérationnel. Tout au long de la journée, vous passez d'un état à l'autre.
Sous Android, une activité passe également par différents états. Entre deux états, le
système appelle certaines méthodes bien spéci ques, dans un ordre déterminé. Vous
connaissez déjà une de ces méthodes : onCreate().
OpenClassrooms, Leading
Voici les différents états dans lesquels une activité peut se trouver : E-Learning Platform in
Europe
Sous Android, l'activité passe par différents états entre lesquelles le système
appelle des méthodes spéci ques dans un ordre déterminé
Par défaut, la méthode onCreate() est automatiquement surchargée lorsque vous créez
une nouvelle activité. Mais comme vous pouvez le voir sur le diagramme ci-dessus, il en
existe d'autres, que nous allons découvrir maintenant.
La méthode onCreate()
Cette méthode, que vous connaissez déjà, est appelée lorsque votre activité est créée par
le système, et qu'elle entre dans l'état Created.
Généralement, les opérations effectuées dans cette méthode servent à mettre en place
l'interface graphique, à initialiser les variables, à con gurer les listeners ou à se connecter
au modèle.
Vous aurez noté que cette méthode prend en paramètre une variable savedInstanceState
de type Bundle. Cette variable contient le dernier état sauvegardé de l'activité. Si c’est la
première fois que cette Activity est lancée, la variable est nulle. Sinon, alors le paramètre
savedInstanceState sera présent ! Ne vous inquiétez pas si vous ne comprenez pas, vous
en saurez plus un peu plus bas !
À ce stade, l'activité est créée, mais l'utilisateur ne la voit pas encore et ne peut pas
interagir avec.
La méthode onStart()
Cette méthode est appelée par le système lorsque l'activité entre dans l'état Started.
L'interface graphique devient visible à l'utilisateur, mais il ne peut pas encore interagir
avec les différents éléments.
La méthode onResume()
Cette méthode est appelée lorsque l'activité entre dans l'état Resumed. L'activité devient
entièrement opérationnelle. L'utilisateur peut utiliser l'application et cliquer sur les
différents éléments graphiques.
L'application reste dans cet état tant qu'il n'y a pas d'interruption, comme par exemple la
réception d'un appel téléphonique, le démarrage d'une nouvelle activité ou l'af chage
d'une boîte de dialogue.
La méthode onPause()
Cette méthode est appelée lorsque l'activité entre dans l'état Paused. Une Activity passe
par exemple dans l’état Paused lorsqu’une AlertDialog est af chée : l’Activity sous-jacente
est toujours visible, mais elle n’est pas au premier plan. Cette méthode est “l’inverse” de la
méthode onResume() : tout ce qui est initié dans onResume() doit être mis en pause
dans cette méthode. Par exemple, une animation présentée à l'utilisateur est démarrée
dans onResume() puis stoppée dans onPause().
Les traitements effectués dans cette méthode doivent être les plus courts possibles.
La méthode onStop()
Cette méthode est appelée lorsque l'activité entre dans l'état Stopped. Par exemple,
lorsqu'une nouvelle activité est démarrée, l'activité appelante va se retrouver dans cet
état. Elle n'est donc plus du tout visible à l'utilisateur. Les traitements liés à la mise à jour
de l'interface graphique peuvent être arrêtés.
Les traitements effectués dans cette méthode peuvent être plus importants (comme
sauvegarder certaines valeurs dans les SharedPreferences, par exemple).
La méthode onDestroy()
Cette méthode est appelée lorsque l'activité est arrêtée. Par exemple, ce peut être après
avoir appelée la méthode nish(), ou si le système décide d'arrêter l'activité pour libérer
de la mémoire.
Séchez vos larmes, c'est normal. La première fois, cela effraie toujours un peu. Nous allons
mettre tout cela en pratique et vous irez tout de suite mieux.
Mise en application
Pour bien comprendre l'enchaînement des méthodes, je vous invite à toutes les
surcharger (sauf onCreate() qui l'est déjà) dans vos deux activités, et d'af cher leur appel
dans la console. Pour rappel, l'af chage d'une trace en Android s'effectue de la sorte :
java
Comme TAG, vous pouvez utiliser ce que vous voulez. Personnellement, j’utilise mon
prénom le retrouver facilement plus tard dans le LogCat !
Lancez l'application, appuyez sur le bouton pour démarrer une nouvelle partie, jouez-la
jusqu'à la n et attendez de revenir sur l'écran principal. Vous devriez obtenir :
En résumé
Plus vos applications grandiront, plus vous devrez maîtriser ce cycle sur le bout des doigts
a n de déterminer dans quelle méthode effectuer le démarrage et l'arrêt de vos services.
Et maintenant, suivez-moi dans le dernier chapitre de ce cours pour découvrir ce qu'il se
passe lorsque vous tournez votre équipement... 😱
Les professeurs
Florian Ponroy
Florian Ponroy, formateur Android, diplômé de l'Université Paris 6 (DESS Téléinformatique)
Virgile-Giovanni Fantauzzi
Virgile FANTAUZZI, ingénieur architecte logiciel, free-lance dans le développement mobile et formateur Android
Presse Cookies
Accessibilité