Академический Документы
Профессиональный Документы
Культура Документы
Chapitre 01
Plan
Cycle de vie dune application Android
2
1. 2.
3.
Elments fondamentaux dune application sous Android Cycle de vie dune application Exemple
Applications Android
3
Lang. De Dev :
Lang. Java avec Android SDK (Software Dev. Kit) Lang. C++ avec Android NDK (Native Dev. Kit)
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
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
Dbut
Fin
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
Pile dactivits
8
Activit en Excution Appui sur le bouton Retour ou activit ferme Dernire Activit Excute
Pile dActivits
Activit n-1
Activit 1
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
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()
Mthodes de Transition
12
onCreate
Appele la cration dune activit Initialisation de tous les lments
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
Mthodes de Transition
14
onResume
Appele juste avant que lactivit ne commence interagir avec
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
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
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
isFinishing() Dans cet tat, lactivit peut tre tue par le systme
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
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();