1. Objectif
Vous familiariser avec la gestion du cycle de vie d’une activité Android.
2. Étude de code
2.1. Récupérez l’archive ActivityLifecycle.zip
Récupérez l’archive suivante : ActivityLifecycle.zip.
2.2. Étudiez le code avant exécution
Avant de l’installer et de l’exécuter, étudiez tout d’abord le code des différentes classes de l’application afin de comprendre son objet. En particulier, vous devez être capable de trouver facilement quelle est l’activité qui sera lancée au démarrage de l’application.
3. Importation et test du projet sous Android Studio
3.1. Importez le projet dans Android Studio
Installez maintenant ce projet grâce à la fonction d’importation d’Android Studio : File → New → Import Project.
⚠️ L’importation ne se fera pas sans problème, car les paramétrages du projet ne sont pas compatibles avec la dernière version d’Android Studio. L’objectif de ce premier exercice est de résoudre ces problèmes, liés en majeure partie à Gradle et au manifest qui correspondent à une vieille version. Prenez donc le temps de bien lire les messages d’erreur que vous obtiendrez. Pour vous donner quelques indications, il s’agira en particulier de changer des paramètres dans les scripts Gradle du projet, ainsi que dans le manifest (Project Structure).
3.2. Testez l’application et observez le cycle de vie
Testez l’application et observez le cycle de vie des différentes activités en testant divers scénarios d’exécution. Testez notamment ce qui se passe lors du changement d’orientation du dispositif.
3.3. Ajoutez un champ texte et testez la conservation des données
Modifiez l’application pour que l’activité d’entrée contienne maintenant un champ texte. Testez comment se comporte la conservation des données entrées dans le champ texte, en fonction de différents scénarios : arrêt normal, changement d’orientation, bouton Back, etc.
💡 Modifier l’application pour que le contenu du champ texte soit systématiquement restauré quel que soit le scénario — vous pouvez le réaliser en utilisant
onSaveInstanceStateetonRestoreInstanceState.
4. Lifecycle-Aware Components (optionnel)
4.1. Implémentez un composant observateur du cycle de vie
Implémentez dans l’application une nouvelle classe que vous définirez comme un composant capable de recevoir les événements du cycle de vie de l’application, cf. cours.