Propriété de Albiri Sigue
customer 27921 at Fri Mar 11 19:19:45 +0100 2011
176 L’art du développement Android
L’état de grâce
Pour l’essentiel, les méthodes que nous venons de mentionner interviennent au niveau
général de l’application (onCreate() relie les dernières parties de l’interface, onPause()
ferme les threads en arrière-plan, etc.).
Cependant, Android a pour but de fournir une apparence de simplicité de fonctionnement.
Autrement dit, bien que les activités puissent aller et venir en fonction des besoins
mémoire, les utilisateurs ne devraient pas savoir ce qu’il se trame. Un utilisateur qui utilisait la calculette devrait donc retrouver le ou les nombres sur lesquels il travaillait lorsqu’il
la réutilise après une absence – sauf s’il avait lui-même fermé la calculette.
Pour que tout cela fonctionne, les activités doivent donc pouvoir sauvegarder, rapidement
et efficacement, l’état de l’instance de l’application qu’elles exécutent. En outre, comme
elles peuvent être tuées à tout moment, les activités peuvent devoir sauvegarder cet état
plus fréquemment qu’on ne pourrait le supposer. Réciproquement, une activité qui redémarre doit récupérer son état antérieur afin d’apparaître dans la situation où elle se trouvait
précédemment.
La sauvegarde de l’état d’une instance est gérée par la méthode onSaveInstanceState(),
qui fournit un objet Bundle dans lequel l’activité peut placer les données qu’elle souhaite
(le nombre affiché par la calculette, par exemple). L’implémentation de cette méthode doit
être rapide – n’essayez pas d’en faire trop : placez simplement les données dans le Bundle
et quittez la méthode.
Vous pouvez récupérer l’état de l’instance dans les méthodes onCreate() et onRestoreInstanceState() : c’est vous qui décidez du moment d’appliquer cet état à votre activité
– l’une ou l’autre de ces méthodes de rappel convient.
Livre Android.book Page 176 Dimanche, 8. novembre 2009 12:23 12
Précédent

- 191/391

Suivant