- Créez une application avec une mise en page (layout) qui contient un compteur
TextView
, un bouton pour incrémenter le compteur et unEditText
. Voir la capture d'écran ci-dessous à titre d'exemple. Vous n'avez pas à dupliquer précisément la mise en page (layout). - Ajoutez un gestionnaire de clic pour le bouton qui incrémente le compteur.
- Exécutez l'application et incrémentez le compteur. Entrez du texte dans
EditText
. - Faites pivoter l'appareil. Notez que le compteur est réinitialisé, mais pas
EditText
. - Implémentez
onSaveInstanceState()
pour enregistrer l'état actuel de l'application. - Mettez à jour
onCreate()
pour restaurer l'état de l'application. - Assurez-vous que lorsque vous faites pivoter le périphérique, l'état de l'application est préservé.
Si vous exécutez l'application de travail à faire avant d'implémenter onSaveInstanceState()
, que se passe-t-il si vous faites pivoter le périphérique? Choisissez-en un:
- L'
EditText
ne contient plus le texte que vous avez entré, mais le compteur est conservé. - Le compteur est réinitialisé à 0 et l'
EditText
ne contient plus le texte que vous avez entré. - Le compteur est réinitialisé à 0, mais le contenu de l'
EditText
est préservé. - Le compteur et le contenu de
EditText
sont préservés.
Quelles méthodes de cycle de vie d'activité sont appelées lorsqu'un changement de configuration de périphérique (tel qu'une rotation) se produit? Choisissez-en un:
- Android ferme immédiatement votre activité en appelant
onStop()
. Votre code doit redémarrer l'activité. - Android arrête votre activité en appelant
onPause()
,onStop()
etonDestroy()
. Votre code doit redémarrer l'activité. - Android arrête votre activité en appelant
onPause()
,onStop()
etonDestroy()
, puis redémarre l'opération en appelantonCreate()
,onStart()
etonResume()
. - Android appelle immédiatement
onResume()
.
Lorsque dans le cycle de vie de l'activité, onSaveInstanceState()
est appelé? Choisissez-en un:
-
onSaveInstanceState()
est appelée avant la méthodeonStop()
. -
onSaveInstanceState()
est appelée avant la méthodeonResume()
. -
onSaveInstanceState()
est appelée avant la méthodeonCreate()
. -
onSaveInstanceState()
est appelée avant la méthodeonDestroy()
.
Quelles méthodes de cycle de vie d'Activité sont les meilleures à utiliser pour enregistrer des données avant la fin ou la destruction de l'activité? Choisissez-en un:
-
onPause()
ouonStop()
-
onResume()
ouonCreate()
-
onDestroy()
-
onStart()
ouonRestart()
Vérifiez que l'application dispose des éléments suivants:
- Il affiche un compteur, un bouton pour incrémenter ce compteur et un
EditText
. - Un clic sur le bouton incrémente le compteur de 1.
- Lors de la rotation du périphérique, les états counter et
EditText
sont conservés. - L'implémentation de
MainActivity.java
utilise la méthodeonSaveInstanceState()
pour stocker la valeur du compteur. - L'implémentation de
onCreate()
teste l'existence dubundle
outState
. Si cetBundle
existe, la valeur du compteur est restaurée et enregistrée dansTextView
.