0% ont trouvé ce document utile (0 vote)
53 vues32 pages

Éléments clés d'une application Android

Le document présente les éléments essentiels d'une application Android, y compris le fichier de configuration AndroidManifest.xml, qui définit les composants et les permissions nécessaires. Il décrit également les différents types de composants tels que les activités, services, fournisseurs de contenu et récepteurs d'intent, ainsi que le cycle de vie d'une activité. Enfin, il aborde la gestion des ressources, leur identification et leur utilisation dans le développement d'applications Android.

Transféré par

Maaroufi Ghizlen
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
53 vues32 pages

Éléments clés d'une application Android

Le document présente les éléments essentiels d'une application Android, y compris le fichier de configuration AndroidManifest.xml, qui définit les composants et les permissions nécessaires. Il décrit également les différents types de composants tels que les activités, services, fournisseurs de contenu et récepteurs d'intent, ainsi que le cycle de vie d'une activité. Enfin, il aborde la gestion des ressources, leur identification et leur utilisation dans le développement d'applications Android.

Transféré par

Maaroufi Ghizlen
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Développement Mobile

ELEMENTS D’UNE APPLICATION ANDROID

• Mme N. Ben Touati ISET Nabeul 2019/2020ISET Nabeul


Mme N. Ben Touati
Plan

• Eléments d’une application Android


• Activité et cycle de vie

• Ressources

Développement Mobile Android ISET Nabeul 2


Eléments d’une application Android:
Fichier de configuration
• Une application Android est un assemblage de composants liées grâce à
un fichier de configuration, qui décrit entre autres:
• Le point d’entrée de l’application: quel code doit être exécuté au démarrage de
l’application
• Quels composants constituent ce programme: les activités, les services …
• Les permissions nécessaires à l’exécution du programme (accès internet, accès
en lecture/écriture aux données partagées)

• Comment?
• Fichier XML: [Link]

Développement Mobile Android ISET Nabeul 3


Eléments d’une application Android:
Fichier de configuration

[Link]
Développement Mobile Android ISET Nabeul 4
Eléments d’une application Android
• Les composants peuvent être classés en éléments
applicatifs et éléments d’interaction:
• Eléments applicatifs
▪ Activité
▪ Service
▪ Fournisseur de contenu, ….

• Eléments d’interaction
▪ Objet Intent
▪ Récepteur d’intent
▪ Notification, ….

Développement Mobile Android ISET Nabeul 5


Eléments d’une application Android :
Activité

• Il s'agit d'une partie de l'application présentant une


vue à l'utilisateur

• Une activité gère l'affichage et les interactions


utilisateurs sur un écran . Les activités sont
indépendantes les unes des autres.

Développement Mobile Android ISET Nabeul 6


Eléments d’une application Android :
Service

• Un service est un composant qui est exécuté en


tâche de fond. Il ne fournit pas d'interface graphique.

• Exemple de service : jouer de la musique, rechercher


des données sur le réseau, déclenchement de
notifications.

Développement Mobile Android ISET Nabeul 7


Eléments d’une application Android :
ContentProvider

• Un fournisseur de contenu gère des données


partageables. C'est le seul moyen d'accéder à des
données partagées entre applications

• On peut créer un fournisseur de contenus pour des


données qu'on veut partager

• Exemple de fournisseur de contenu : les informations


de contacts, l’agenda, les photos …

Développement Mobile Android ISET Nabeul 8


Eléments d’une application Android:
BroadcastReceiver
• C’est un composant à l'écoute d'informations qui lui sont destinées. Un tel récepteur
indique le type d'informations qui l'intéressent et pour lesquelles il se mettra en
écoute.

• L'application réceptrice d'informations (c'est à dire possédant un récepteur


d'informations) n'a pas besoin d'être lancée. Si elle ne l'est pas, Android la démarre
automatiquement

• Exemple : appel téléphonique entrant, réception d'un SMS, réseau Wi-Fi connecté,
signal de batterie faible, informations diffusées par des applications.

Développement Mobile Android ISET Nabeul 9


Eléments d’une application Android

Développement Mobile Android ISET Nabeul 10


Activité
• Une activité est la composante principale pour une application
Android. Elle représente l’implémentation métier dans une
application Android, permettant de gérer l’ensemble des vues et
ressources.

• Une activité peut être avec ou sans interface utilisateur. Il est


possible d’avoir plusieurs activités dans le même programme. Elle
doit toujours être déclarée dans le fichier [Link].

• Une activité n’est pas linéaire, elle est soumise à plusieurs


évènements. Chaque événement est représenté dans une méthode.
Développement Mobile Android ISET Nabeul 11
Activité
• Une activité est composée de deux volets:

▪ Sa logique métier et la gestion de son cycle de vie


▪ Implémentés en Java dans une classe héritant de Activity

▪ Son interface utilisateur: deux façons alternatives pour sa


définition
▪ Programmative: dans le code de l’activité
▪ Déclarative: dans un fichier XML

Développement Mobile Android ISET Nabeul 12


Activité:
Création d’un écran
▪ Chaque écran est géré par une instance d’une sous-classe de Activity que vous
programmez.
▪ Vous surchargerez sa méthode onCreate selon ce qui doit être affiché sur l’
écran :

▪ L’interface est mise en place par setContentView ( identifiant de ressource).

Développement Mobile Android ISET Nabeul 13


Activité:
Structure d’une interface utilisateur
L’interface d’une activité est composée de vues :

▪ vues élémentaires : boutons, zones de texte, cases à cocher, etc.


▪ vues de groupement : elles permettent l’alignement des autres vues

Chaque vue est gérée par un objet Java. Ces objets ne sont pas créés
manuellement, mais par l’intermédiaire d’un fichier XML.
Le fichier XML définit les vues à créer. Il est lu automatiquement par
le système Android lors du lancement de l’activité et transformé en
objets Java.

Chaque objet Java est retrouvé grâce à un « identifiant de ressource


».
Développement Mobile Android ISET Nabeul 14
Cycle de vie d’une activité
Démarrage d’une Application
- Au début, le système Android lance l’activité qui est marquée action=MAIN et
catégorie=LAUNCHER dans [Link].

- Ensuite, d’autres activités peuvent être démarrées. Chacune se met « devant » les
autres comme sur une pile. Deux cas sont possibles :
• La précédente activité se termine, on ne revient pas dedans.
Exemple: une activité où on tape son login et son mot de passe lance l’activité principale et
se termine.

• La précédente activité attend la fin de la nouvelle car elle lui demande un résultat en
retour.
Exemple : une activité de type liste d’items lance une activité pour éditer un item quand on
clique longuement dessus, mais attend la fin de l’édition pour rafraîchir la liste.

Développement Mobile Android ISET Nabeul 15


Cycle de vie d’une activité
[Link]

Voyons maintenant comment fonctionnent les activités.


• Démarrage (à cause d’un Intent)
• Apparition/masquage sur écran
• Terminaison

Une activité se trouve dans l’un de ces états :


• active (resumed) : elle est sur le devant, l’utilisateur peut jouer avec,
• en pause (paused) : partiellement cachée et inactive, car une autre activité est venue
devant,
• stoppée (stopped) : totalement invisible et inactive, ses variables sont préservées mais
elle ne tourne plus.

Développement Mobile Android ISET Nabeul 16


Cycle de vie d’une activité
[Link]

Développement Mobile Android ISET Nabeul 17


Cycle de vie d’une activité
[Link]

- Appelée à la création d’une activité.


Appelée
Appelée quand
quand l’application
l’application passe
estest (ou repasse)
démarrée
-L’interface graphique crée mais
en avant‑plan.
mais non interactive
l’utilisateur ne la voit pas encore et ne
L’activité devient entierement opérationnelle.
peut pas interagir avec.

Appelée quand l’application redevient visible

Appelée quand l’application passe en


arriere‑plan et qu’une autre application se
met devant
Appelée quand l’application n’est plus
visible
Appelée quand l’application est fermée par :
- le système à cause d’un manque de ressources, ou
- l’utilisateur à l’utilisation d’un finish().
Développement Mobile Android ISET Nabeul 18
Ressources
Définition de ressources
Les ressources sont tout ce qui n’est pas programme dans une
application. Dans Android, ce sont les textes, messages, icones,
images, sons, interfaces, styles, etc.

C’est une bonne séparation, car cela permet d’adapter une application
facilement pour tous les pays, cultures et langues. On n’a pas à
recompiler chaque fois. C’est le même code compilé, mais avec des
ressources spécifiques.

Le programmeur prévoit simplement des variantes linguistiques des


ressources qu’il souhaite permettre de traduire.

Développement Mobile Android ISET Nabeul 19


Ressources
Identifiant de ressource
Le problème est alors de faire le lien entre les ressources et les programmes : par
un identifiant.

Par exemple, la méthode setContentView demande l’identifiant de l’interface à


afficher dans l’écran : [Link]. Cet identifiant est un entier qui est généré
automatiquement par le SDK Android.

Comme il va y avoir de très nombreux identifiants dans une application :


• chaque vue possède un identifiant (si on veut)
• chaque image, icone possède un identifiant
• chaque texte, message possède un identifiant
• chaque style, theme, etc. etc.

Ils ont tous été regroupés dans une classe spéciale appelée R.

Développement Mobile Android ISET Nabeul 20


Ressources
Types de ressources
Types de ressources Répertoire associé Description
Valeurs simples res/values Définition en XML de valeurs: chaines,
tableaux, valeurs numériques
Drawables res/drawable Des ressources images

Layouts res/layout Description en XML des interfaces

Animations res/anim Description en XML d’animations


Ressources XML res/xml Fichier XML qui peuvent être lus et convertis
à l’exécution par la méthode
[Link]
Ressources brutes res/raw Tous les autres types de ressources: fichiers
texte, vidéo, son.
Fichiers à ajouter sous leurs formats
d’origine.
Développement Mobile Android ISET Nabeul 21
Ressources
Génération de la clase R
Le SDK Android (aapt) construit automatiquement une classe statique appelée R.
Elle ne contient que des constantes entières groupées par catégories : id, layout,
menu. . . :

Développement Mobile Android ISET Nabeul 22


Ressources
Programme et Ressources
Il est donc préférable de stocker l’interface dans un fichier res/layout/[Link] :

qui est référencée par son identifiant [Link].nom_du_fichier (ici c’est main)
dans le programme Java :

Développement Mobile Android ISET Nabeul 23


23
Ressources
Fichier ressources
Cette classe R est générée automatiquement par ce que vous mettez dans le dossier res:
dispositions, identifiants, chaînes. . .

Développement Mobile Android ISET Nabeul 24


Ressources
Nouvel emplacement …
Cette classe R est générée automatiquement par ce que vous mettez dans le dossier res:
dispositions, identifiants, chaînes. . .

25
Développement Mobile Android ISET Nabeul
Ressources
Ressources de type chaine
Dans res/values/[Link], on place les chaînes de l’application, au lieu de les
mettre en constantes dans le code source :

Intérêt : pouvoir traduire une application sans la recompiler.

Développement Mobile Android ISET Nabeul 26


26
Ressources
Traduction des chaines
Lorsque les textes sont définis dans res/values/[Link], il suffit de faire des
copies du dossier values, en values-us, values-fr, values-de, etc. et de traduire les
textes en gardant les attributs name.

Voici par exemple res/values-de/[Link] :

Le système android ira chercher automatiquement le bon texte en fonction des


paramètres linguistiques configurés par l’utilisateur.

Développement Mobile Android ISET Nabeul 27


27
Ressources
Tableau de chaines: [Link]
Voici un extrait du fichier res/values/[Link] :

Dans le programme Java :

Développement Mobile Android ISET Nabeul 28


28
Ressources
Identifiants et vues
Lorsque l’application veut manipuler l’une de ses vues, elle doit utiliser [Link],
ex :

avec la définition suivante dans res/layout/[Link] :

La notation @+id/nom définit un identifiant pour le TextView.

Développement Mobile Android ISET Nabeul 29


29
Ressources
Utilisation de ressources
• Les ressources peuvent être utilisées dans les fichiers XML ou dans le code java
• Utilisation des ressources dans le code java
• Les ressources peuvent être utilisées via leurs identifiants: utilisation de la classe statique R
automatiquement générée
• Les ressources peuvent être utilisées en récupérant l’instance de la ressource en utilisant la classe
Ressources

• Une méthode spécifique pour les objets graphiques permet de les récupérer à partir de leur id

Développement Mobile Android ISET Nabeul 30


30
Ressources
Utilisation de ressources
• Ressources référencées par d’autres ressources
• Les ressources définies peuvent être utilisées comme valeurs d’attributs dans d’autres ressources
sous forme XML

Référencement d’une
autre ressource

Développement Mobile Android ISET Nabeul 31


31
Ressources
Récapitulons !!!!
Chaquereprésentant
Les fichiers sources activité doit le
: comportement de l’application sont définis dans le dossier java, dans
une arborescence de• Être définie dans un fichiers .java à part
packages
•Hériter (directement ou indirectement) de la classe [Link]

• Implémenter la méthode onCreate() pour définir le comportement de


l’activité à sa création
•L’implémentation
Appeler la méthode autres méthodes dedans
dessetContentView() le code(onPause,
transition de onCreate pour définir
onDestroy le
…) est
layout de cette activité (fichier Layout XML associé)
optionnelle

Développement Mobile Android ISET Nabeul 32

Vous aimerez peut-être aussi