Vous êtes sur la page 1sur 21

Institut Suprieur dInformatique

Chapitre 01

Cycle de vie dune application Android


Dr. Mohamed-Wassim YOUSSEF
[www.wassimyoussef.info]

2012 Systmes dexploitation Mobiles M1 - ISI


1re anne Mastere en Informatique

Plan
Cycle de vie dune application Android
2

1. 2.

3.

Elments fondamentaux dune application sous Android Cycle de vie dune application Exemple

Dr. Mohamed Wassim Youssef Systmes dexploitation Mobiles

M1- ISI 2011

Applications Android
3

Lang. De Dev :
Lang. Java avec Android SDK (Software Dev. Kit) Lang. C++ avec Android NDK (Native Dev. Kit)

Utilisation de IDE est recommande


Eclipse (recommand)
Autres IDE peuvent etre utiliss telque NetBeans.

Un projet dune application Android possde une arborescence spcifique.

Dr. Mohamed Wassim Youssef Systmes dexploitation Mobiles

M1- ISI 2012

Organisation dun Projet Android


Rpertoire contenant les sources du projet Fichier jar contenant le framework Android Rpertoire contenant les ressources du projet. Il est lu par lADT pour gnrer le fichier R.java. Rpertoire pour la description de linterface graphique avec des fichiers .xml Fichier dfinissant le comportement de lapplication. Ex : nom, icne, thme, version, Dr. Mohamed activitsWassim Youssef Systmes dexploitation Mobiles

Rpertoire contenant les fichiers gnrs par lADT. Notamment, le 4 fichier R.java contient les rfrences vers les ressources du projet Rpertoire contenant les donnes charges sur le mobile la compilation. Ex : fichiers texte, audio, vido Regroupe lensemble des images (haute, basse et moyenne rsolution) Dossier contenant les fichiers dcrivant des valeurs utilises dans lapplication. Ex : strings.xml pour les chanes, arrays.xml pour les tableaux M1- ISI 2012

Elments de base dans une Application Android


5

Classes Activity pour chaque cran (fichiers Java) Fichier layout (en gnral un fichier XML pour chaque Activity) Fichier Manifest pour toute lapplication
Les diffrentes activits de lapplication
Les droit de lapplication La version

Dr. Mohamed Wassim Youssef Systmes dexploitation Mobiles

M1- ISI 2012

Cycle de vie dun application


6

Les composants dune application ont un cycle de vie


Un dbut quand Android les instancie pour rpondre aux Intents Une fin quand les instances sont dtruites Entre les deux, o ils peuvent tre:
Actifs ou inactifs Visibles ou invisibles

Dbut

Vie dune application: Active / Inactive Visible / Invisible

Fin

Dr. Mohamed Wassim Youssef Systmes dexploitation Mobiles

M1- ISI 2012

Pile dActivits
7

Les activits dans une application sont gres sous forme de Pile Quand une nouvelle activit dmarre, elle est place en haut de la pile et devient lactivit en excution
Lactivit prcdente reste en dessous dans la pile
Elle ne revient au premier plan que si la nouvelle activit est ferme

Si lutilisateur clique sur le bouton Retour suivante dans la pile devient active

lactivit

Dr. Mohamed Wassim Youssef Systmes dexploitation Mobiles

M1- ISI 2012

Pile dactivits
8

Nouvelle Activit Nouvelle Activit dmarre

Activit en Excution Appui sur le bouton Retour ou activit ferme Dernire Activit Excute

Pile dActivits

Activit n-1

Activit 2 Supprime pour librer des ressources

Activit 1

Dr. Mohamed Wassim Youssef Systmes dexploitation Mobiles

M1- ISI 2012

Etats dune Activit


9

Une activit a essentiellement 3 tats


Active ou en Excution
Elle est au premier plan de lcran (donc en haut de la pile) Cest lactivit cible par les actions de lutilisateur

En Pause
A perdu le focus, mais est encore visible Une autre activit est en haut de la pile, mais elle est soit transparente, soit ne couvre pas tout lcran

Arrte
Compltement recouverte par une autre activit Ses informations sont encore charges, mais elle nest plus visible Peut tre tue par le systme si besoin de mmoire

Dr. Mohamed Wassim Youssef Systmes dexploitation Mobiles

M1- ISI 2012

Cycle de Vie dune Activity

vnements dun cycle de vie


11

Quand une activit passe dun tat un autre, elle appelle les mthodes de transition correspondantes :
void onCreate(Bundle savedInstanceState) : obligatoire void onStart() void onRestart()

void onResume()
void onPause() : recommande void onStop()

void onDestroy()

Dr. Mohamed Wassim Youssef Systmes dexploitation Mobiles

M1- ISI 2012

Mthodes de Transition
12

onCreate
Appele la cration dune activit Initialisation de tous les lments

Un bundle est pass cette mthode, contenant ltat prcdent de

lactivit Toujours suivie de onStart

Dr. Mohamed Wassim Youssef Systmes dexploitation Mobiles

M1- ISI 2012

Mthodes de Transition
13

onStart
Appele juste avant que lactivit ne devienne visible Suivie de
onResume si lactivit revient en premier plan onStop si lactivit est cache

onRestart
Appele quand lactivit va redmarrer aprs avoir t stope Toujours suivie de onStart

Dr. Mohamed Wassim Youssef Systmes dexploitation Mobiles

M1- ISI 2012

Mthodes de Transition
14

onResume
Appele juste avant que lactivit ne commence interagir avec

lutilisateur A ce point, lactivit est en haut de la pile Toujours suivie de onPause

Dr. Mohamed Wassim Youssef Systmes dexploitation Mobiles

M1- ISI 2012

Mthodes de Transition
15

onPause
Appele quand le systme va dmarrer une autre activit Utilise typiquement pour
Consigner les donnes non sauvegardes Arrtes les animations ou tout ce qui consomme de la mmoire

Ne doit pas consommer beaucoup de temps, car lactivit suivante ne

va dmarrer que si cette mthode retourne Suivie de :


onResume si lactivit est recharge en premier plan onStop si lactivit devient invisible

Dans cet tat, lactivit peut tre tue par le systme


Dr. Mohamed Wassim Youssef Systmes dexploitation Mobiles M1- ISI 2012

Mthodes de Transition
16

onStop
Appele quand lactivit nest plus visible lutilisateur Peut arriver si:
Lactivit est dtruite Une autre activit a repris son excution et la recouverte

Suivie par:
onRestart si lactivit recommence interagir avec lutilisateur onDestroy si lactivit va disparatre

Dans cet tat, lactivit peut tre tue par le systme

Dr. Mohamed Wassim Youssef Systmes dexploitation Mobiles

M1- ISI 2012

Mthodes de Transition
17

onDestroy
Appele quand lactivit est dtruite Dernier appel que lactivit va recevoir Peut intervenir si:
Lactivit se termine (appel de finish) Le systme dtruit temporairement cette instance de lactivit pour gagner de lespace

On peut distinguer entre ces deux scnarios avec la mthode

isFinishing() Dans cet tat, lactivit peut tre tue par le systme

Dr. Mohamed Wassim Youssef Systmes dexploitation Mobiles

M1- ISI 2012

vnements dun cycle de vie


18

Si une activit est en pause ou arrte, le systme peut la dcharger de la mmoire :


En appelant la mthode finish() En tuant le processus

Quand elle est affiche de nouveau, elle est compltement redmarre

Dr. Mohamed Wassim Youssef Systmes dexploitation Mobiles

M1- ISI 2012

Exemple dapplication dmontrant le cycle de vie

19

Etapes :
Cration dune nouvelle application
Activity avec un champs Texte contenant LifeCycle

Affichage dun message via Toast pour chaque etape du cycle de vie

Dr. Mohamed Wassim Youssef Systmes dexploitation Mobiles

M1- ISI 2012

Cration dune application


20

Code de lactivit LifeCycle : public class LifeCycleActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main);

}
Dr. Mohamed Wassim Youssef Systmes dexploitation Mobiles M1- ISI 2012

Toast
21

Un Toast permet dafficher un message Texte pendant une dure de temps paramtrable.

Toast.makeText(this, "Je suis dans onCreate", 1).show(); Ce Toast peut tre ajout dans chaque tape du cyle de vie fin de mettre en evidence le passage par chaque tape : @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Toast.makeText(this, "Je suis dans onCreate", 1).show();

Dr. Mohamed Wassim Youssef Systmes dexploitation Mobiles

M1- ISI 2012