Propriété de Albiri Sigue
customer 27921 at Fri Mar 11 19:19:45 +0100 2011
174 L’art du développement Android
L’activité de Schroedinger
En général, une activité se trouve toujours dans l’un des quatre états suivants :
● Active. L’activité a été lancée par l’utilisateur, elle s’exécute au premier plan. C’est à
cet état que l’on pense quand on évoque le fonctionnement d’une activité.
● En pause. L’activité a été lancée par l’utilisateur, elle s’exécute et elle est visible, mais
une notification ou un autre événement occupe une partie de l’écran. Pendant ce temps,
l’utilisateur voit l’activité mais peut ne pas être capable d’interagir avec elle.
Lorsqu’un appel téléphonique est reçu, l’utilisateur a l’opportunité de prendre cet
appel ou de l’ignorer, par exemple.
● Stoppée. L’activité a été lancée par l’utilisateur, elle s’exécute mais est cachée par
d’autres activités qui ont été lancées ou vers lesquelles le système a basculé. Votre
application ne pourra rien présenter d’intéressant à l’utilisateur directement : elle ne
peut passer que par une Notification.
● Morte. L’activité n’a jamais été lancée (le téléphone vient d’être réinitialisé, par exemple)
ou elle a été tuée, probablement à cause d’un manque de mémoire.
Vie et mort d’une activité
Android fera appel à votre activité en considérant les transitions entre les quatre états que
nous venons de présenter. Certaines transitions peuvent provoquer plusieurs appels à votre
activité, via les méthodes présentées dans cette section ; parfois, Android tuera votre application sans l’appeler. Tout ceci est assez flou et sujet à modifications : c’est la raison pour
laquelle vous devez consulter attentivement la documentation officielle d’Android en plus
de cette section pour décider des événements qui méritent attention et de ceux que vous
pouvez ignorer.
Notez que vous devez appeler les versions de la superclasse lorsque vous implémentez les
méthodes décrites ici ; sinon Android peut lever une exception.
onCreate() et onDestroy()
Tous les exemples que nous avons vus jusqu’à maintenant ont implémenté onCreate()
dans leurs sous-classes d’Activity.
Cette méthode sera appelée dans les trois cas suivants :
● Lorsque l’activité est lancée pour la première fois (après le redémarrage du système,
par exemple), onCreate() est appelée avec le paramètre null.
● Si l’activité s’est exécutée, puis qu’elle a été tuée, onCreate() sera appelée avec, pour
paramètre, le Bundle obtenu par onSaveInstanceState() (voir plus loin).
Livre Android.book Page 174 Dimanche, 8. novembre 2009 12:23 12
Précédent

- 189/391

Suivant