Académique Documents
Professionnel Documents
Culture Documents
Développement Android
Cycle de Vie, Composants Principaux, Comportement…
“The first truly open and comprehensive platform for mobile devices, all of
the software to run a mobile phone but without the proprietary obstacles
that have hindered mobile innovation."
Andy Rubin
Cofondateur et ancien CEO de Danger Inc. et du Système d’Exploitation Android Inc.
http://googleblog.blogspot.com/2007/11/wheres-my-gphone.html
https://developer.android.com/about/dashboards/index.html
ARCHITECTURE ANDROID
Android Runtime
• Incluant les librairies fondamentales et la machine virtuelle ART (Android
RunTime, remplaçant Dalvik officiellement depuis la version Lollipop).
• Permet l’exécution des application et représente la base du framework applicatif .
Android Libraries
• Linux kernel Libraries : diverses
librairies fondamentales de C/C++ :
• Media Framework : lecture audio /
vidéo
• Surface manager : gestion de
l’affichage
• Graphics libraries (SGL & OpenGL):
affichage 2D et 3D
• SQLite pour le support natif des
bases de données
• SSL & WebKit pour la navigation sur
internet avec le support SSL
Applications Framework
• Fournit les classes qui seront utilisées pour la création d’applications Android.
• Représente une abstraction pour les accès HW et prend en charge la gestion de
l’interface utilisateur et des ressources de l’application.
Applications
• Toutes les applications, native ou tierces, sont basées sur la même API.
• La couche application s’ exécute sur un runtime Android en utilisant les classes
et services de fournis par la couche « Applications Framework ».
Voir http://developer.android.com/training/design-navigation/wireframing.html
http://developer.android.com
http://www.android-app-patterns.com/
http://www.androidviews.net
• Quand une nouvelle activité démarre, elle est placée en haut de la pile
et devient l’activité en exécution
• L’ activité précédente reste en dessous dans la pile
• Elle ne revient au premier plan que si la nouvelle activité est fermée
onCreate
• Appelée à la création d’une activité
• Initialisation de tous les éléments
• Un bundle est passé à cette méthode, contenant l’état précédent de l’activité
• Toujours suivie de onStart
onStart
• Appelée juste avant que l’activité ne devienne visible,
• Suivie de
• onResume si l’activité revient en premier plan
• onStop si l’activité est cachée
onRestart
• Appelée quand l’activité va redémarrer après avoir été stoppée
• Toujours suivie de onStart
onResume
• Appelée juste avant que l’activité ne commence interagir avec l’utilisateur
• A ce point, l’activité est en haut de la pile
• Toujours suivie de onPause
onPause
• Appelée quand le système va démarrer une autre activité
• Utilisée typiquement pour
• Consigner les données non sauvegardées
• Arrêtées les animations ou tout ce qui consomme de la mémoire...
• Ne doit pas consommer beaucoup de temps, car l’activité suivante ne va démarrer que si
cette méthode retourne
• Suivie de :
• onResume si l’activité est rechargée en premier plan
• onStop si l’activité devient invisible
Dr. Lilia SFAXI
• Dans cet état, l’activité peut être tuée par le système
www.liliasfaxi.wix.com /liliasfaxi
Slide 36
Méthodes de Transition (5/6): onStop
Cycle de Vie d’une Application Android
onStop
• Appelée quand l’activité n’est plus visible à l’utilisateur
• Peut arriver si:
• L’activité est détruite
• Une autre activité a repris son exécution et l’a recouverte
• Suivie par:
• onRestart si l’activité recommence à interagir avec l’utilisateur
• onDestroy si l’activité va disparaître
• Dr.Dans
Lilia cet
SFAXIétat, l’activité peut être tuée par le système
Slide 37
www.liliasfaxi.wix.com /liliasfaxi
Méthodes de Transition (6/6): onDestroy
Cycle de Vie d’une Application Android
onDestroy
• Appelée quand l’activité est détruite
• Dernier appel que l’activité va recevoir
• Peut intervenir si:
• L’ activité se termine (appel de finish)
• Le système détruit temporairement cette instance de l’activité pour gagner de l’espace
• On peut distinguer entre ces deux scénarios avec la méthode isFinishing()
• Dans cet état, l’activité peut être tuée par le système
• Page LifeCycle :
• http://developer.android.com/training/basics/activity-lifecycle/index.html
• A voir ultérieurement…