Vous êtes sur la page 1sur 1

Formations Alternance Pour les entreprises WT

Accueil > Cours > Développez votre première application Android > Appréhendez le cycle de vie d'une activité

Développez votre première application Android

20 heures  Facile Licence 


Mis à jour le 08/09/2021

 

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

1 Log.d(TAG, "onStart() called");

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 :

Consultation des traces

Pour avoir un af chage similaire, veillez à :

. Sélectionner l'onglet Logcat en bas à gauche d'Android Studio.


. Sélectionner le nom de l'émulateur si vous testez sur l'émulateur, ou le nom de votre
équipement si vous testez sur un téléphone ou une tablette.
. Sélectionner le nom du processus (par défaut, c’est votre nom de package !).
. Filtrer l'af chage des traces en tapant votre tag ou un contenu du log dans la zone
de recherche. Cela vous évitera d'être pollué par l'ensemble des traces générées par
le système.

Du côté de MainActivity, nous avons :

onCreate() / onStart() / onResume() : l'activité est démarrée ;


onPause() : l'activité est en pause, car l'activité GameActivity va être démarrée ;
onStop() : l'activité est stoppée, car c'est l'activité GameActivity qui est au premier
plan ;
onStart() / onResume() : l'activité reprend, car l'activité GameActivity est terminée.

Du côté de GameActivity, nous avons :

onCreate() / onStart() / onResume() : l'activité est démarrée ;


onPause() / onStop() / onDestroy() : l'activité se termine puis est détruite.

En résumé

Sous Android, une activité passe par différents états.


Entre chaque état, le système appelle certaines méthodes bien 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é.

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... 😱

J'AI TERMINÉ CE CHAPITRE ET JE PASSE AU SUIVANT

TOURNEZ VOTRE ÉQUIPEMENT : QUE SE


 AMÉLIOREZ L'EXPÉRIENCE UTILISATEUR 
PASSE-T-IL ?

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

OPENCLASSROOMS OPPORTUNITÉS POUR LES ENTREPRISES Français


 
Qui sommes-nous ? Nous rejoindre Former et recruter

Alternance Devenir mentor


EN PLUS

Financements Devenir coach carrière


Boutique
Expérience de formation
AIDE Conditions générales d'utilisation
Forum
Politique de protection des données
Blog personnelles

Presse Cookies

Accessibilité

Vous aimerez peut-être aussi