Programmation Android Composantes dune application Jrmy VINET IEConcept

  • Slides: 26
Download presentation
Programmation Android Composantes d’une application Jérémy VINET IE-Concept 2017 Android-comp. App V 1. 1

Programmation Android Composantes d’une application Jérémy VINET IE-Concept 2017 Android-comp. App V 1. 1 – IE-Concept 2017 1

Programmation Android Composantes d’une application Plan Composantes d’une application Ø Composants applicatifs Ø Eléments

Programmation Android Composantes d’une application Plan Composantes d’une application Ø Composants applicatifs Ø Eléments d’interaction Ø Cycle de vie Android-comp. App V 1. 1 – IE-Concept 2017 2

Programmation Android Composantes d’une application Composants applicatifs • Les composants d’une application sont les

Programmation Android Composantes d’une application Composants applicatifs • Les composants d’une application sont les éléments essentiels d’une application Android. • Ils sont liés par le fichier manifeste de l’application qui décrit chaque composant et comment ils interagissent. • Il existe quatre composants principaux qui peuvent être utilisés dans une application Android. Ø Activités Ø Services Ø Fournisseurs de contenu Ø Ecouteur d’intention diffusée Android-comp. App V 1. 1 – IE-Concept 2017 3

Programmation Android Composantes d’une application Composants applicatifs Activités (Activity) • Une activité représente le

Programmation Android Composantes d’une application Composants applicatifs Activités (Activity) • Une activité représente le bloc de base d’une application. • Elle correspond à la partie présentation de l’application et fonctionne par le biais de vues qui affichent des interfaces graphiques. • Elle répond aux actions utilisateur • Réagit à son cycle de vie Android-comp. App V 1. 1 – IE-Concept 2017 4

Programmation Android Composantes d’une application Composants applicatifs Services • Un service est un composant

Programmation Android Composantes d’une application Composants applicatifs Services • Un service est un composant qui fonctionne en tâche de fond, de manière invisible. • Il ne nécessite pas d’interface utilisateur • Ses principales utilisations sont la mise à jour de sources de données ainsi que d’activités visibles et le déclenchement de notifications • Possède un cycle de vie différent d’une activité Android-comp. App V 1. 1 – IE-Concept 2017 5

Programmation Android Composantes d’une application Composants applicatifs Fournisseurs de contenu • Un fournisseur de

Programmation Android Composantes d’une application Composants applicatifs Fournisseurs de contenu • Un fournisseur de contenu (content providers) permet de gérer et de partager des informations. • Un même fournisseur permet d’accéder à des données au sein d’une application et entre applications (partage des données). • Niveau d’abstraction pour toutes données stockées sur le terminal • Android encourage la mise à disposition de ses propres données aux autres programmes grâce aux fournisseurs de contenu 6 Android-comp. App V 1. 1 – IE-Concept 2017

Programmation Android Composantes d’une application Composants applicatifs Ecouteur d’intention diffusée • Permet à une

Programmation Android Composantes d’une application Composants applicatifs Ecouteur d’intention diffusée • Permet à une application de récupérer des informations générales Ø Evènement calendrier Ø Réception d’un SMS Ø Batterie faible Ø… Android-comp. App V 1. 1 – IE-Concept 2017 7

Programmation Android Composantes d’une application Eléments d’interaction • Les éléments d’interaction permettent des interactions

Programmation Android Composantes d’une application Eléments d’interaction • Les éléments d’interaction permettent des interactions entre applications et avec le système • Il y a deux grandes familles d’éléments d’interaction Ø Les intentions Ø Les notifications Android-comp. App V 1. 1 – IE-Concept 2017 8

Programmation Android Composantes d’une application Eléments d’interaction Intention (Intent) • Une intention est un

Programmation Android Composantes d’une application Eléments d’interaction Intention (Intent) • Une intention est un message système qu’on peut qualifier d’ évènement • Les Intents sont des objets permettant de faire passer des messages contenant de l’information entre composants principaux • Emis par le terminal pour prévenir les applications de la survenue d’ événements (cas des événements système) ou par tout autre application (cas des événements applicatifs). Ø Insertion d’une carte SD Ø Réception d’un SMS Ø Démarrage d’une application Ø Acquisition d’un signal GPS Android-comp. App V 1. 1 – IE-Concept 2017 9

Programmation Android Composantes d’une application Eléments d’interaction Notifications • Le système de notifications fournit

Programmation Android Composantes d’une application Eléments d’interaction Notifications • Le système de notifications fournit une indication permettant de prévenir l’utilisateur de certains évènements Ø Arriver d’un SMS Ø Appel en absence • Chaque application peut générer des notifications Android-comp. App V 1. 1 – IE-Concept 2017 10

Programmation Android Composantes d’une application Eléments d’interaction Application Android • Une activité = un

Programmation Android Composantes d’une application Eléments d’interaction Application Android • Une activité = un programme + une interface • Un service = un programme sans interface • Une application = Ø Une activité principale Ø Eventuellement une ou plusieurs activités secondaires Ø Eventuellement un ou plusieurs services Ø Eventuellement un ou plusieurs écouteurs d’intentions diffusées Ø Eventuellement un ou plusieurs fournisseurs de contenu Android-comp. App V 1. 1 – IE-Concept 2017 11

Programmation Android Composantes d’une application Eléments d’interaction Déclaration des éléments dans Android. Manifest. xml

Programmation Android Composantes d’une application Eléments d’interaction Déclaration des éléments dans Android. Manifest. xml • Tous les éléments déclarés doivent se trouver entre les balises application • Activité <activity> … </activity> • Service <service> … </service> • Ecouteur d’intention diffusée <receiver> … </receiver> • Fournisseur de contenu <provider> … </provider> Android-comp. App V 1. 1 – IE-Concept 2017 12

Programmation Android Composantes d’une application Eléments d’interaction Exemple de manifeste pour une application ayant

Programmation Android Composantes d’une application Eléments d’interaction Exemple de manifeste pour une application ayant une activité Android-comp. App V 1. 1 – IE-Concept 2017 13

Programmation Android Composantes d’une application Cycle de vie • Il est indispensable de connaitre

Programmation Android Composantes d’une application Cycle de vie • Il est indispensable de connaitre voir le cycle de vie d’une application afin de savoir les points d’entrée et de réaction d’une application • En fonction du type d’application le cycle de vie ne sera pas le même • Deux cycles différents Ø Cycle de vie d’une Activité Ø Cycle de vie d’un Service Android-comp. App V 1. 1 – IE-Concept 2017 14

Programmation Android Composantes d’une application Cycle de vie d’une Activity • Dans un cycle

Programmation Android Composantes d’une application Cycle de vie d’une Activity • Dans un cycle de vie d’une activité on compte 7 états. • Ces états sont déclenchés soit par le système soit par l’utilisateur. • Il peut être très utile pour une application de pouvoir réagir à ces états. Android-comp. App V 1. 1 – IE-Concept 2017 15

Programmation Android Composantes d’une application Cycle de vie d’une Activity • Les 7 états

Programmation Android Composantes d’une application Cycle de vie d’une Activity • Les 7 états du cycle de vie sont accessibles grâce à 7 callback définis dans la classe Activity Ø on. Create() Ø on. Start() Ø on. Resume() Ø on. Restart() Ø on. Pause() Ø on. Stop() Ø on. Destroy() • Chaque classe d’écrivant une activité doit hériter de la classe Activity ou de toutes autres classes héritant elles -mêmes de cette classe Android-comp. App V 1. 1 – IE-Concept 2017 16

Programmation Android Composantes d’une application Cycle de vie Généralités sur le cycle de vie

Programmation Android Composantes d’une application Cycle de vie Généralités sur le cycle de vie d’une activité • Aucune méthode main dans un programme Android • Android exécute le code d’une activité en appelant des callbacks • Ces callbacks correspondent aux phrases de la vie d’une activité • Il n’est pas nécessaire d’implémenter toutes les callbacks Android-comp. App V 1. 1 – IE-Concept 2017 17

Programmation Android Composantes d’une application Cycle de vie Activity : code source Android-comp. App

Programmation Android Composantes d’une application Cycle de vie Activity : code source Android-comp. App V 1. 1 – IE-Concept 2017 18

Programmation Android Composantes d’une application Cycle de vie Vision simplifiée du cycle de vie

Programmation Android Composantes d’une application Cycle de vie Vision simplifiée du cycle de vie d’une activité Android-comp. App V 1. 1 – IE-Concept 2017 19

Programmation Android Composantes d’une application Cycle de vie Les états d’une activité • Les

Programmation Android Composantes d’une application Cycle de vie Les états d’une activité • Les trois états durables d’une activité : Ø Resumed : L’activité est au premier plan et l’utilisateur peut interagir avec elle. On dit aussi qu’elle est en train d’être exécutée. Ø Paused : L’activité est partiellement recouverte par une autre activité qui se trouve au premier plan. L’activité en pause ne peut pas recevoir d’action de l’utilisateur. Ø Stopped : L’activité est totalement cachée et ne peut plus exécuter de code. En revanche, toutes ses informations sont conservées. • Les deux états transitoires d’une activité : Ø Created : L’activité vient d’être créée. Ø Started : L’activité vient de devenir visible. Android-comp. App V 1. 1 – IE-Concept 2017 20

Programmation Android Cycle de vie Composantes d’une application Cycle de vie d’un Service •

Programmation Android Cycle de vie Composantes d’une application Cycle de vie d’un Service • Dans un cycle de vie d’un service on compte 5 états. Ø on. Create() Ø on. Start. Command() Ø on. Bind() Ø on. Unbind() Ø on. Destroy() Android-comp. App V 1. 1 – IE-Concept 2017 21

Programmation Android Composantes d’une application Cycle de vie Généralités sur le cycle de vie

Programmation Android Composantes d’une application Cycle de vie Généralités sur le cycle de vie d’un service • Il y a moins de callbacks pour un service qu’une activité • Il y a deux types de service Ø Les services locaux, ils sont lancés depuis le même processus. Ø Les services distants, ils sont lancés depuis un processus différent. Android-comp. App V 1. 1 – IE-Concept 2017 22

Programmation Android Composantes d’une application Cycle de vie Les états d’un service • Il

Programmation Android Composantes d’une application Cycle de vie Les états d’un service • Il n’y a qu’un état durable pour un service : Ø Service running pour un service local, le service est en cours d’exécution. Ø Client are bound to service pour un service distant, le service est en cours d’exécution tant qu’il y a des clients connectés Android-comp. App V 1. 1 – IE-Concept 2017 23

Programmation Android Composantes d’une application Cycle de vie Service : code source Android-comp. App

Programmation Android Composantes d’une application Cycle de vie Service : code source Android-comp. App V 1. 1 – IE-Concept 2017 24

Programmation Android Composantes d’une application Cycle de vie Généralités sur les cycles de vie

Programmation Android Composantes d’une application Cycle de vie Généralités sur les cycles de vie • Il est important d’implémenter les callbacks afin que votre application fonctionne correctement : Ø Réception d’un appel et basculement sur une autre application. Ø Ne pas consommer trop de ressources système. Ø Ne pas avoir de problème lors de la création / restauration de l’application par le système (par exemple lors d’une rotation de l’écran). • Il est donc important d’avoir fait des tests dans les situations évoquées ci-dessus, avant de distribuer une application. Android-comp. App V 1. 1 – IE-Concept 2017 25

Programmation Android Composantes d’une application Ressources • https: //developer. android. com/guide/components/activities/ind ex. html •

Programmation Android Composantes d’une application Ressources • https: //developer. android. com/guide/components/activities/ind ex. html • https: //developer. android. com/guide/components/services. ht ml • https: //developer. android. com/guide/components/index. html • https: //developer. android. com/ Android-comp. App V 1. 1 – IE-Concept 2017 26