0% ont trouvé ce document utile (0 vote)
6 vues233 pages

Développement d'IHMs Avancées en Android

Transféré par

brahimouhimi03
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)
6 vues233 pages

Développement d'IHMs Avancées en Android

Transféré par

brahimouhimi03
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

Android Avancé

Pour
Le développement des applications mobiles

25/11/2020 [Link]@[Link] 1
Les objectifs du cours:

• Développer les Interfaces Homme-Machine avancé

• Comprendre et utiliser les parseurs.

• Comprendre le principe d’invocations des méthodes à distant.

• Manipuler les capteurs .

• Programmer des services.

25/11/2020 [Link]@[Link] 2
Le plan du cours:
Chapitre 1: 3 Séances

Programmation des IHMs avancés: ListView, GridView et Gallery, …

Chapitre 2: 1Séance

Les parseurs XML et JSON

Chapitre 3: 1 Séance

Invocation des méthodes à distance par un client Android.

Chapitre 4: 2 Séance

Les capteurs en Android

Chapitre 5: 1 Séance

Programmer des services en android

25/11/2020 [Link]@[Link] 3
Le références:

[Link]

[Link]

L’art du développement Android, Mark Murphy


Professional Android Application Development – Wrox

25/11/2020 [Link]@[Link] 4
Chapitre1:Programmation des IHMs avancés: ListView, GridView et Gallery, …

Atelier 1: Création des ListView


 ListView = Un composant graphique très utilisé par les applications Android.

 ListView permet d’affiche un ensemble des éléments appelés Items.

 Chaque Item peut contenir un ou plusieurs Widgets

ListView Item 1..*


Widget
1..*

 ListView doit être accessible par défilement vertical ou par un filtre.

 ListView offre deux mode de sélections simple ou bien multiple.

25/11/2020 [Link]@[Link] 5
Chapitre1:Programmation des IHMs avancés: ListView, GridView et Gallery, …

Atelier 1: Création des ListView


C’est quoi la différence entre les deux IHMs suivants?

VS VS

25/11/2020 [Link]@[Link] 6
Chapitre1:Programmation des IHMs avancés: ListView, GridView et Gallery, …

Atelier 1: Création des ListView


 Chaque ListView possède une stratégie d’affichage qu’elle l’applique pour afficher
ces Items.

 Stratégie d’affichage = Adapter

 Il existe des adapter standards prédéfinis tels que: SimpleAdapter, ArrayAdapter,


BaseAdapter et CursorAdapter. (Utilisés par les ListView statique)

 Le programmeur à le droit de personnalisé une stratégie d’affichage (Adapter) mais il


hérite d’un adapter standard. (ListView dynamique)

 Dans le cas où la ListView comporte un élément cliquable, ou les valeurs des éléments
de ces Items changent, le programmeur est appelé à personnaliser un adapter pour
pouvoir exploiter l’élément.

25/11/2020 [Link]@[Link] 7
Chapitre1:Programmation des IHMs avancés: ListView, GridView et Gallery, …

Atelier 1: Création des ListView


1. Création d’une liste qui utilise un adapter personnalisé
Permet le retour vers la page
principale de l’application

4
Une liste qui comporte plusieurs
Items le clique sur la flèche
affiche une layout qui montre le
détail de la recommandation

1
Permet d’afficher le formulaire d’ajout
Permet de filtrer la liste

3 Permet d’ordonner la liste

25/11/2020 [Link]@[Link] 8
Chapitre1:Programmation des IHMs avancés: ListView, GridView et Gallery, …

Atelier 1: Création des ListView


1. Création d’une liste qui utilise un adapter personnalisé

Permet d’afficher les différents Permet d’afficher une layout


méthodes d’insertion des images animée pour choisir la catégorie

25/11/2020 [Link]@[Link] 9
Chapitre1:Programmation des IHMs avancés: ListView, GridView et Gallery, …

Atelier 1: Création des ListView


1. Création d’une liste qui utilise un adapter personnalisé

25/11/2020 [Link]@[Link] 10
Chapitre1:Programmation des IHMs avancés: ListView, GridView et Gallery, …

Atelier 1: Création des ListView


1. Création d’une liste qui utilise un adapter personnalisé

25/11/2020 [Link]@[Link] 11
Chapitre1:Programmation des IHMs avancés: ListView, GridView et Gallery, …

Atelier 1: Création des ListView


1. Création d’une liste qui utilise un adapter personnalisé

25/11/2020 [Link]@[Link] 12
Chapitre1:Programmation des IHMs avancés: ListView, GridView et Gallery, …

Atelier 1: Création des ListView


1. Création d’une liste qui utilise un adapter personnalisé

Etape 1: Création de la layout principale qui affiche la ListView

Barre d’action

Barre de Menu

25/11/2020 [Link]@[Link] 13
Chapitre1:Programmation des IHMs avancés: ListView, GridView et Gallery, …

Atelier 1: Création des ListView


1. Création d’une liste qui utilise un adapter personnalisé

Etape 2: Création de la layout qui présente un Item de la ListView

25/11/2020 [Link]@[Link] 14
Chapitre1:Programmation des IHMs avancés: ListView, GridView et Gallery, …

Atelier 1: Création des ListView


1. Création d’une liste qui utilise un adapter personnalisé
Notre Adapter hérite de l’ adapter
Etape 3: Création d’un adapter de la ListView standard BaseAdapter

Liste des Items, chaque Item est


présenté par un HashMap

myInflater objet de type


LayoutInflater transformer un fichier
XML en arbre et la lecture de cette
arbre

Redéfinition de la méthode getCount ()


qui retourne le nombre des Items
d’une liste

Redéfinition de la méthode getItem


qui retourne l’objet qui présente le
Item de la liste qui se trouve à une
position donnée Constructeur

25/11/2020 [Link]@[Link] 15
Chapitre1:Programmation des IHMs avancés: ListView, GridView et Gallery, …

Atelier 1: Création des ListView


1. Création d’une liste qui utilise un adapter personnalisé

Etape 3: Création d’un adapter de la ListView

Redéfinition de la méthode getItemId


qui retourne l’identifiant d’un objet
Item qui se trouve à une position

ViewHolder est une classe interne


appelé aussi cache qui contient toutes
les éléments de l’Item changeables ou
cliquables

25/11/2020 [Link]@[Link] 16
Chapitre1:Programmation des IHMs avancés: ListView, GridView et Gallery, …

Atelier 1: Création des ListView


1. Création d’une liste qui utilise un adapter personnalisé
• La méthode getView est appelée par
Etape 3: Création d’un adapter de la ListView Android à chaque fois qu’on affiche
la liste et seulement sur les lignes
présentées.

• Principe de la méthode:
 Appel du fichier XML qui présente
l’Item.
 Faire une correspondance entre les
éléments de l’Item et ces valeurs.
 inflate est une méthode qui fait la
transformation d’un fichier XML en
un arbre Java.
 La vue doit être créer.
 Tag un objet permet de stocker la
structure d’un élément de la liste.
 Récupérer la structure de l’élément.

25/11/2020 [Link]@[Link] 17
Chapitre1:Programmation des IHMs avancés: ListView, GridView et Gallery, …

Atelier 1: Création des ListView


1. Création d’une liste qui utilise un adapter personnalisé

Etape 3: Création d’un adapter de la ListView

Affecter les valeurs de chaque élément de


la liste on se basant sur le concept
Clé/Valeur

25/11/2020 [Link]@[Link] 18
Chapitre1:Programmation des IHMs avancés: ListView, GridView et Gallery, …

Atelier 1: Création des ListView


1. Création d’une liste qui utilise un adapter personnalisé

Etape 4: Programmation de l’Activité

25/11/2020 [Link]@[Link] 19
Chapitre1:Programmation des IHMs avancés: ListView, GridView et Gallery, …

Atelier 1: Création des ListView


1. Création d’une liste qui utilise un adapter personnalisé

Etape 4: Programmation de l’Activité

25/11/2020 [Link]@[Link] 20
Chapitre1:Programmation des IHMs avancés: ListView, GridView et Gallery, …

Atelier 1: Création des ListView


1. Création d’une liste qui utilise un adapter personnalisé

Etape 4: Programmation de l’Activité

25/11/2020 [Link]@[Link] 21
Chapitre1:Programmation des IHMs avancés: ListView, GridView et Gallery, …

Atelier 2: Le passage d’une activité à autre


Développer et afficher la vue ajouter une recommandation

Etape 1: développer la layout qui permet l’ajout d’une nouvelle recommandation

25/11/2020 [Link]@[Link] 22
Chapitre1:Programmation des IHMs avancés: ListView, GridView et Gallery, …

Atelier 2: Le passage d’une activité à autre


Développer et afficher la vue ajouter une recommandation

Etape 2: Programmation du passage de l’activité consulter recommandation vers


l’activité ajouter recommandation

25/11/2020 [Link]@[Link] 23
Chapitre1:Programmation des IHMs avancés: ListView, GridView et Gallery, …

Atelier 2: Le passage d’une activité à autre


4. Développer et afficher la vue consulter le détail d’une recommandation

Etape 1: Programmation de la layout pour consulter les détails d’une recommandation

Etape 2: Programmer l’Intent de passage vers

l’écran de détail d’une recommandation(ajouter

Ce code à l’adapter).

25/11/2020 [Link]@[Link] 24
Chapitre1:Programmation des IHMs avancés: ListView, GridView et Gallery, …

Atelier 3: Animation en Android


• Android intègre un petit moteur permettant d’appliquer des animations sur un
widget ou d’un layout.

• Les animations sont programmées par code Java et par XML.

• Les animations sont des assemblages d’effets élémentaires qui une transformation sur
une instance d’objet View.

• La définition des animations peut être faite via un fichier XML ou par code Java via
la classe [Link].

• Android offre 4 animations de base:

 alpha: réalise un effet de fondu en jouant sur le niveau de transparence.

 scale: réalise un redimensionnement.

25/11/2020 [Link]@[Link] 25
Chapitre1:Programmation des IHMs avancés: ListView, GridView et Gallery, …

Atelier 3: Animation en Android


 translate: effectuer un mouvement de translation horizontale, verticale ou les
deux on fixant les coordonnées X et Y de la position de départ et ceux de la
position d’arrivée.

 rotate: il s’Agit d’un mouvement de rotation on fixant les coordonnées du point


de pivotage et l’Angle de rotation.

• Les définitions des animations se fait par le tag <set> si on utilise XML ou bien via un
objet AnimationSet si on utilise le code Java.

• L’attribut duration permet de fixer la durée de l’animation en ms.

• L’attribut repeatCount permet de définer le nombre de fois qu’on veut répeter


l’animation.

25/11/2020 [Link]@[Link] 26
Chapitre1:Programmation des IHMs avancés: ListView, GridView et Gallery, …

Atelier 3: Animation en Android


1. Exemple simple de l’utilisation des animations en Android: texte qui bouge

25/11/2020 [Link]@[Link] 27
Chapitre1:Programmation des IHMs avancés: ListView, GridView et Gallery, …

Atelier 3: Animation en Android


1. Exemple simple de l’utilisation des animations en Android: texte qui bouge

25/11/2020 [Link]@[Link] 28
Chapitre1:Programmation des IHMs avancés: ListView, GridView et Gallery, …

Atelier 3: Animation en Android


2. Utilisation des animations avancées

Etape 1: Création de la layout qui affiche les différente manières de filtrage

……….

25/11/2020 [Link]@[Link] 29
Chapitre1:Programmation des IHMs avancés: ListView, GridView et Gallery, …

Atelier 3: Animation en Android


2. Utilisation des animations avancées

Etape 2: Création d’un style d’animation:

25/11/2020 [Link]@[Link] 30
Chapitre1:Programmation des IHMs avancés: ListView, GridView et Gallery, …

Atelier 3: Animation en Android


2. Utilisation des animations avancées

Etape 3: La programmation de l’animation

25/11/2020 [Link]@[Link] 31
Chapitre1:Programmation des IHMs avancés: ListView, GridView et Gallery, …

Atelier 4: Les Menus en Android


Attention: Eviter les interfaces trop encombrer

• L’utilisation des menus et sous menus en android font une bonne solution pour ne pas
avoir des interfaces encombrés.

• Il existe deux types de menus en Android:

 Les ‘Option Menus’

 Les ‘Context Menus’

• Les Option Menus sont les menus principaux de l’application, liés à des activités et
accessible par le clique directe sur le Menu.

• Les Context Menus sont les menus contextuels, ils sont liés à un objet de type View,
accessible par un long clique sur l’objet.

25/11/2020 [Link]@[Link] 32
Chapitre1:Programmation des IHMs avancés: ListView, GridView et Gallery, …

Atelier 4: Les Menus en Android

• Le point commun entre les deux types de menus, ils peuvent être définis par code java,
et par un fichier XML.

• Pour créer un menu « Option », il faut redéfinir la méthode public boolean


onCreateOptionsMenu(Menu menu) sur l’activité.
• Il éxiste deux façons Pour associer une action à chacun des items d’un menu:
 Redéfinir la méthode onOptionItemSelected sur l’activité.
 Enregistrer un listener de type OnMenuItemClickListener sur le MenuItem.
• Pour créer un menu contextuel sur un widget donné il faut enregistrer un listener de
type [Link] sur celui-ci.
• La classe activity implémente cette interface.
• Implémenter l’unique méthode de ce listener qu’est onCreateContextMenu sur
l’activité, sa logique est la même que onCreateOptionsMenu
25/11/2020 [Link]@[Link] 33
Chapitre1:Programmation des IHMs avancés: ListView, GridView et Gallery, …

Atelier 4: Les Menus en Android


• Exemple de Menu de type ‘Option Menu’

Etape1: Copier touts les icônes dans l’un des dossier drawable

25/11/2020 [Link]@[Link] 34
Chapitre1:Programmation des IHMs avancés: ListView, GridView et Gallery, …

Atelier 4: Les Menus en Android


• Exemple de Menu de type ‘Option Menu’

Etape2: définir le fichier [Link] qui comporte toutes les menus

25/11/2020 [Link]@[Link] 35
Chapitre1:Programmation des IHMs avancés: ListView, GridView et Gallery, …

Atelier 4: Les Menus en Android


• Exemple de Menu de type ‘Option Menu’

Etape3: définir les fichier [Link] qui existe dans les dossiers values, values-v14 et values- v11

25/11/2020 [Link]@[Link] 36
Chapitre1:Programmation des IHMs avancés: ListView, GridView et Gallery, …

Atelier 4: Les Menus en Android


• Exemple de Menu de type ‘Option Menu’

Etape4: Redéfinir les méthodes onCreateOptionMenu et onOptionItemSelected

25/11/2020 [Link]@[Link] 37
Chapitre1:Programmation des IHMs avancés: ListView, GridView et Gallery, …

Atelier 4: Les Menus en Android


• Exemple de Menu avec sous menu de type ‘Option Menu’

25/11/2020 [Link]@[Link] 38
Chapitre1:Programmation des IHMs avancés: ListView, GridView et Gallery, …

Atelier 4: Les Menus en Android


• Exemple de Menu de type ‘Context Menus’

Etape 1: programmer votre menu contextuel

25/11/2020 [Link]@[Link] 39
Chapitre1:Programmation des IHMs avancés: ListView, GridView et Gallery, …

Atelier 4: Les Menus en Android


• Exemple de Menu de type ‘Context Menus’

Etape 2: programmer une layout qui comporte le widget avec lequel on va

associer le menu contextuel:

25/11/2020 [Link]@[Link] 40
Chapitre1:Programmation des IHMs avancés: ListView, GridView et Gallery, …

Atelier 4: Les Menus en Android


• Exemple de Menu de type ‘Context Menus’

Etape 3: programmer l’activité

25/11/2020 [Link]@[Link] 41
Chapitre1:Programmation des IHMs avancés: ListView, GridView et Gallery, …

Atelier 4: Les Menus en Android


• Exemple de Menu de type ‘Context Menus’

Etape 3: programmer l’activité

25/11/2020 [Link]@[Link] 42
Chapitre1:Programmation des IHMs avancés: ListView, GridView et Gallery, …

Atelier 5: Utilisation des fragments


• Un fragment = portion d’une activité = sous partie d’une activité .

• La notion de fragment a été introduite depuis la version 3.0 d’Android.

• Un fragment = un fichier XML + une classe java qui hérite de la classe Fragment.

• Un fragment toujours s’exécute dans le context de l’ activité avec laquelle il est attaché.

• Alors le cycle de vie d’un fragment est dépend du cycle de vie de l’activité.

• Une fois l’activité est arrêtée touts ces fragments sont arrêtés.

• Un fragment peut être actif dans une ou plusieurs activités.

• Une activité peut comporter un ou plusieurs fragments

25/11/2020 [Link]@[Link] 43
Chapitre1:Programmation des IHMs avancés: ListView, GridView et Gallery, …

Atelier 5: Utilisation des fragments


• Un fragment à un cycle de vie similaire.

 onAttach (): permet d’attacher un fragment à l’activité.


 onCreate (): la création de l’instance du fragment.
 onCreateView(): permet l’ajout de la View fragment au son
conteneur(activité).
 onActivityCreated (): la création d’une instance de l’activité
avec le fragment.
 onStart () : lancement de l’activité avec le fragment.
 onResume (): le fragment devient à nouveau actif
 onPause () : le fragment et visible mais n’est pas actif.
 onStop () : le fragment est invisible.
 onDestroy () : la destruction du fragment.

25/11/2020 [Link]@[Link] 44
Chapitre1:Programmation des IHMs avancés: ListView, GridView et Gallery, …

Atelier 5: Utilisation des fragments


• Les fragments sont utilisés sous plusieurs formes tels que:

25/11/2020 [Link]@[Link] 45
Chapitre1:Programmation des IHMs avancés: ListView, GridView et Gallery, …

Atelier 5: Utilisation des fragments


Exemple d’utilisation des fragments:

25/11/2020 [Link]@[Link] 46
Chapitre1:Programmation des IHMs avancés: ListView, GridView et Gallery, …

Atelier 5: Utilisation des fragments


Exemple d’utilisation des fragments:

Etape 1: Création des fragments (chaque fragment à un layout et une activité)

25/11/2020 [Link]@[Link] 47
Chapitre1:Programmation des IHMs avancés: ListView, GridView et Gallery, …

Atelier 5: Utilisation des fragments


Exemple d’utilisation des fragments:

Etape 1: Création des fragments (chaque fragment à un layout et une activité)

25/11/2020 [Link]@[Link] 48
Chapitre1:Programmation des IHMs avancés: ListView, GridView et Gallery, …

Atelier 5: Utilisation des fragments


Exemple d’utilisation des fragments:

Etape 1: Création des fragments (chaque fragment à un layout et une activité)

25/11/2020 [Link]@[Link] 49
Chapitre1:Programmation des IHMs avancés: ListView, GridView et Gallery, …

Atelier 5: Utilisation des fragments


Exemple d’utilisation des fragments:

Etape 2: Création d’adapter (Stratégie d’affichage)

25/11/2020 [Link]@[Link] 50
Chapitre1:Programmation des IHMs avancés: ListView, GridView et Gallery, …

Atelier 5: Utilisation des fragments


Exemple d’utilisation des fragments:

Etape 3: Programmation de l’activité

25/11/2020 [Link]@[Link] 51
Chapitre1:Programmation des IHMs avancés: ListView, GridView et Gallery, …

Atelier 6: Les notifications en Android


• Les notifications facilite la communication et l’interaction entre l’application android et
l’utilisateur lors de la survenue d’évènements particuliers.

• Le concept des notifications est basé sur l’affichage d’un message en haut de l’écran permettant de
prévenir l’utilisateur de certains évènements tels que arriver d’un SMS, mail, appel en absence …

• La classe Toast définie par Android permet de notifier l’utilisateur mais cette notification ne
persiste pas.

• Les messages importants doivent persister pour données beaucoup de chance à l’utilisateur, pour
qu’il les consulte.

• La création et l’envoi des notifications passe par les étapes suivantes:

 Étape 1: Création d’un constructeur de la notification (Notification Builder).

 Étape 2: Configurer les propriétés de la notification.

 Étape 3: Attacher une action à la notification si nécessaire.

 Étape 4: Envoyer la notification.


25/11/2020 [Link]@[Link] 52
Chapitre1:Programmation des IHMs avancés: ListView, GridView et Gallery, …

Atelier 6: Les notifications en Android


Exemple d’envoi d’une notification:

25/11/2020 [Link]@[Link] 53
Chapitre1:Programmation des IHMs avancés: ListView, GridView et Gallery, …

Atelier 6: Les notifications en Android


Exemple d’envoi d’une notification:

Etape1: Création du layout principal

 Le layout principal contient un bouton, le clique sur ce dernier permet

l’envoi de la notification

25/11/2020 [Link]@[Link] 54
Chapitre1:Programmation des IHMs avancés: ListView, GridView et Gallery, …

Atelier 6: Les notifications en Android


Exemple d’envoi d’une notification:

Etape2: Création du layout et l’activité de la notification (Optionnel)

25/11/2020 [Link]@[Link] 55
Chapitre1:Programmation des IHMs avancés: ListView, GridView et Gallery, …

Atelier 6: Les notifications en Android


Exemple d’envoi d’une notification:

Etape3: Création et l’envoi de la notification

25/11/2020 [Link]@[Link] 56
Chapitre1:Programmation des IHMs avancés: ListView, GridView et Gallery, …

Atelier 6: Les notifications en Android


Exemple d’envoi d’une notification:

Etape3: Création et l’envoi de la notification

25/11/2020 [Link]@[Link] 57
Chapitre1:Programmation des IHMs avancés: ListView, GridView et Gallery, …

Atelier 6: Les notifications en Android


• La classe [Link] est la classe clé du processus de la création d’une
notification, dans ce qui suit quelques méthodes de cette classe à part celles traitées dans
l’exemple.

Méthode Description
build() Combine touts les paramètres de la notification et return un objet
de type Notification.
setAutoCancel (boolean b) Si b=true la notification sera supprimer d’une façon automatique
une fois l’utilisateur clique sur l’écran. (b par défaut égale à false).
setDefaults (int defaults) Indique une notification par défaut
setOngoing (boolean b) Si b= true c’est-à-dire la notification est encours d’exécution.
setStyle ([Link] style) Applique un style sur la notification
setWen (long t) Programmer le temps que la notification se est produit

25/11/2020 [Link]@[Link] 58
Chapitre1:Programmation des IHMs avancés: ListView, GridView et Gallery, …

Atelier 7: Alerte Dialogue en Android


• Les applications android utilisent fréquemment les boite de dialogue pour avertir l’utilisateur.

• Les boites de dialogue ou les alertes dialogues donnent à l’utilisateur la possibilité de prendre une
décision.

• Les étapes à suivre pour développer une boite de dialogue sont:

 La création d’une instance de constructeur de l’alerte dialogue ([Link]).

 La configuration de ensemble des elements de l’alerte dialogue via les méthodes (setMessage,
setPositiveButton, setNegativeButton, …).

 Créer l’alerte dialogue via la méthode create() de la classe [Link]

 Afficher l’alerte dialogue via la méthode show().

25/11/2020 [Link]@[Link] 59
Chapitre1:Programmation des IHMs avancés: ListView, GridView et Gallery, …

Atelier 7: Alerte Dialogue en Android


Exemple d’utilisation de l’Alerte Dialogue

25/11/2020 [Link]@[Link] 60
Chapitre1:Programmation des IHMs avancés: ListView, GridView et Gallery, …

Atelier 7: Alerte Dialogue en Android


Exemple d’utilisation de l’Alerte Dialogue

Étape 1: Création du layout principal

25/11/2020 [Link]@[Link] 61
Chapitre1:Programmation des IHMs avancés: ListView, GridView et Gallery, …

Atelier 7: Alerte Dialogue en Android


Exemple d’utilisation de l’Alerte Dialogue

Étape 2: Création du layout et l’activité


déclenchés après une décision positive

25/11/2020 [Link]@[Link] 62
Chapitre1:Programmation des IHMs avancés: ListView, GridView et Gallery, …

Atelier 7: Alerte Dialogue en Android


Exemple d’utilisation de l’Alerte Dialogue

Étape 3: Création du layout et l’activité


déclenchés après une décision négative

25/11/2020 [Link]@[Link] 63
Chapitre1:Programmation des IHMs avancés: ListView, GridView et Gallery, …

Atelier 7: Alerte Dialogue en Android


Exemple d’utilisation de l’Alerte Dialogue

Étape 3: Création et le lancement de l’alerte


dialogue

25/11/2020 [Link]@[Link] 64
Chapitre1:Programmation des IHMs avancés: ListView, GridView et Gallery, …

Atelier 7: Alerte Dialogue en Android


Exemple d’utilisation de l’Alerte Dialogue

Étape 3: Création et le lancement de l’alerte


dialogue

25/11/2020 [Link]@[Link] 65
Chapitre1:Programmation des IHMs avancés: ListView, GridView et Gallery, …

Atelier 7: Alerte Dialogue en Android


• La classe [Link] possède encore des méthodes a part celles qu’ont été utilisées dans
l’exemple précèdent.

Méthode Description
setIcon(Drawable icon) Associer un icon à l’alerte dialogue.
setCancelable (boolean b) Si b=true l’alerte dialogue peut être supprimer même
l’utilisateur n’a pas pris la décision.
setMultiChoiceItems (CharSequence[] items, Affiche une liste des éléments (Items), la sélection de l’un
boolean[] checkedItems, des éléments déclenche l’action correspondante définie par
[Link] le listener.
listener)

25/11/2020 [Link]@[Link] 66
Chapitre1:Programmation des IHMs avancés: ListView, GridView et Gallery, …

Atelier 8: Auto-complète du texte en Android


• Android offre la possibilité de compléter d’une façon automatique un texte éditable.

• Cette fonctionnalité permet le gain en temps d’une part et la vérification syntaxique du text
d’autre part.

• Android offre deux widgets permettant la fonction de l’auto-complète: AutoCompleteTextView et


MultiAutoCompleteTextView

• AutoCompleteTextView: permet l’exploitation de la fonction auto-complète sur un seule mot.

• MultiAutoCompleteTextView: permet l’exploitation de la fonction auto-complète sur plusieurs


mots séparés par une virgule.

• Les étapes à suivre pour programmer l’Auto-complète sont:

 Créer le layout principal qui comporte les widgets AutoCompleteTextView et/ou


MultiAutoCompleteTextView.

 Créer une base de mots sous forme d’un tableau de strings sur le fichier [Link].

 Développer l’activité principale


25/11/2020 [Link]@[Link] 67
Chapitre1:Programmation des IHMs avancés: ListView, GridView et Gallery, …

Atelier 8: Auto-complète du texte en Android


Exemple d’utilisation de auto-complète texte simple et multiple:

Etape 1: Création du layout principal

25/11/2020 [Link]@[Link] 68
Chapitre1:Programmation des IHMs avancés: ListView, GridView et Gallery, …

Atelier 8: Auto-complète du texte en Android


Exemple d’utilisation de auto-complète texte simple et multiple:

Etape 1: Création du layout principal

25/11/2020 [Link]@[Link] 69
Chapitre1:Programmation des IHMs avancés: ListView, GridView et Gallery, …

Atelier 8: Auto-complète du texte en Android


Exemple d’utilisation de auto-complète texte simple et multiple:

Etape 2: Développement de l’activité principale.

25/11/2020 [Link]@[Link] 70
Chapitre1:Programmation des IHMs avancés: ListView, GridView et Gallery, …

Atelier 9: Appliquer un font sur un TextView en Android


 Le programmeur peut personnaliser un font pour les textes de l’application tels que:

25/11/2020 [Link]@[Link] 71
Chapitre1:Programmation des IHMs avancés: ListView, GridView et Gallery, …

Atelier 9: Appliquer un font sur un TextView en Android


Etape 1: Création du TextView et l’ajout du font à appliquer dans un dossier fonts du
dossier assets

25/11/2020 [Link]@[Link] 72
Chapitre1:Programmation des IHMs avancés: ListView, GridView et Gallery, …

Atelier 9: Appliquer un font sur un TextView en Android


Etape 2: l’application du font sur le TextView:

 On utilise la méthode statique createFromAsset de la classe

Typeface pour créer le font.

 On applique le font via la méthode setTypeface

25/11/2020 [Link]@[Link] 73
Chapitre2: Parseur JSON et XML

Atelier 10:Parser un fichier JSON en Android


• JSON = JavaScript Object Notation.

• Une notation objet issue de JavaScript.

• Les avantages de JSON:

 Format léger d’échange de données.

 Il est facile à lire ou à écrire pour les humains.

 Il est aisément analysable par les machines.

 JSON est un format texte complètement indépendante de tout langage.

 Il peut être utilisé par touts les langages descendent du C tels que: C, C++, Java,
PHP, JavaScript, Perl, Python, ….

 Ces avantages font de JSON un langage d’échange de données idéal.

25/11/2020 [Link]@[Link] 74
Chapitre2: Parseur JSON et XML

Atelier 10:Parser un fichier JSON en Android


JSON – Structure:

JSON est bâti sur deux structures:

 Une collection de paires nom/valeur: permet de concrétiser un objet, un


enregistrement, une structure, un dictionnaire ou une Map.

 Une liste ordonnée des valeurs: ceci peut prendre la forme d’un tableau (array),
d’un vecteur (vector) ou d’une liste.

 Ces deux structures de données sont universelles, utilisées pratiquement par touts
les langages de programmation, chose qui fait de JSON le format d’échange de
données le plus sollicité.

25/11/2020 [Link]@[Link] 75
Chapitre2: Parseur JSON et XML

Atelier 10:Parser un fichier JSON en Android


JSON – Valeur:

 Une valeur peut être soit:

• une chaîne de caractères entre guillemets.

• un nombre.

• true ou false pour les valeurs boolean.

• la valeur null.

• un objet.

• un tableau.

25/11/2020 [Link]@[Link] 76
Chapitre2: Parseur JSON et XML

Atelier 10:Parser un fichier JSON en Android


JSON – Valeur:

 La structure de la valeur peut être imbriquée:

25/11/2020 [Link]@[Link] 77
Chapitre2: Parseur JSON et XML

Atelier 10:Parser un fichier JSON en Android


JSON – Objet:

 Un objet est un ensemble non ordonné de paires nom/valeur.

 Un objet commence par le caractère { (accolade ouvrante) et finit par le caractère }


(accolade fermante).

 Le nom et la valeur sont séparés par : (deux points).

 Les paires nom/valeur d’un objet sont séparés par , (virgule).

 Structure d’un objet:

25/11/2020 [Link]@[Link] 78
Chapitre2: Parseur JSON et XML

Atelier 10:Parser un fichier JSON en Android


JSON – Objet:

Exemple d’un objet:

“nom“ : “Charradi“,

“prenom“ : “Karim“,

“age“ : 22 ,

“genre“ : “etudiant“ ,

“inscrit“ : true ,

25/11/2020 [Link]@[Link] 79
Chapitre2: Parseur JSON et XML

Atelier 10:Parser un fichier JSON en Android


JSON – Tableau:

 Un tableau est une collection de valeurs ordonnées.

 Un tableau commence par le caractère [ (crochet ouvrant) et se termine par le


caractère ] (crochet fermant).

 Les valeurs sont séparées par le caractère , (virgule).

 La structure d’un tableau est:

25/11/2020 [Link]@[Link] 80
Chapitre2: Parseur JSON et XML

Atelier 10:Parser un fichier JSON en Android


JSON – Tableau:

Exemple d’un tableau:

{ “nom“ : “Charradi“ , “prenom“ : “Karim“ },

{ “nom“ : “Berrada“ , “prenom“ : “Hicham“ },

{ “nom“ : “Karimi“ , “prenom“ : “Ahmed“ },

{ “nom“ : “Sabir“ , “prenom“ : “Ibrahim“ },

25/11/2020 [Link]@[Link] 81
Chapitre2: Parseur JSON et XML

Atelier 10:Parser un fichier JSON en Android


Atelier:

L’atelier consiste à développer une application mobile permet d’afficher les données
température, humidité, pression et le pays d’une ville saisie par l’utilisateur. L’interface
graphique de l’application et le suivant:

25/11/2020 [Link]@[Link] 82
Chapitre2: Parseur JSON et XML

Atelier 10:Parser un fichier JSON en Android


Atelier:

 Notre application utilisera les services offerts par un web service gratuit de l’url:
[Link]
56e6a79264f24383&units=metric

 L’application doit définir un parseur JSON pour extraire les informations qu’on veut
afficher
25/11/2020 [Link]@[Link] 83
Chapitre2: Parseur JSON et XML

Atelier 10:Parser un fichier JSON en Android


Atelier:

Etape 1: Création de l’interface graphique

25/11/2020 [Link]@[Link] 84
Chapitre2: Parseur JSON et XML

Atelier 10:Parser un fichier JSON en Android


Atelier:

Etape 2: Création des méthodes pour lire et parser le fichier JSON:

Les getters et les setters

25/11/2020 [Link]@[Link] 85
Chapitre2: Parseur JSON et XML

Atelier 10:Parser un fichier JSON en Android


Atelier:

Etape 2: Création des méthodes pour lire et parser le fichier JSON:

25/11/2020 [Link]@[Link] 86
Chapitre2: Parseur JSON et XML

Atelier 10:Parser un fichier JSON en Android


Atelier:

Etape 2: Création des méthodes pour lire et parser le fichier JSON:

25/11/2020 [Link]@[Link] 87
Chapitre2: Parseur JSON et XML

Atelier 10:Parser un fichier JSON en Android


Atelier:

Etape 3: développer l’activité principale

25/11/2020 [Link]@[Link] 88
Chapitre2: Parseur JSON et XML

Atelier 10:Parser un fichier JSON en Android


Atelier:

Etape 3: développer l’activité principale

25/11/2020 [Link]@[Link] 89
Chapitre2: Parseur JSON et XML

Atelier 10:Parser un fichier JSON en Android


Atelier:

Etape 4: définir la permission d’utilisation de l’Internet

 Sur le fichier [Link] ajouter la permission d’utilisation

de l’Internet par l’ajout de:

25/11/2020 [Link]@[Link] 90
Chapitre2: Parseur JSON et XML

Atelier 10:Parser un fichier JSON en Android

Méthode Description
get(String name) Retourne la valeur associe du clé name sous forme d’un objet
getBoolean (String name) Retourne la valeur boolean spécifier par la clé name.
getInt (String name) Retourne la valeur entier spécifier par la clé name.
getDouble (String name) Retourne la valeur double spécifier par la clé name.
getLong (String name) Retourne la valeur long spécifier par la clé name

Length() Retourne le nombre des paires nom/valeur d’un objet JSON


Names() Retourne un tableau qui comporte les noms d’un objet JSON

25/11/2020 [Link]@[Link] 91
Chapitre2: Parseur JSON et XML

Atelier 11:Parser un document XML en Android


 XML: eXtensible Markup Language.

 XLM a été créé pour standardiser l’échange et le stockage des données.

 HTML a été créé pour l’affichage et la présentation de données

 XML est un langage de balise comme HTML.

 XML a été crée pour l’échange et non pour l’affichage de données.

 Les balises XML ne sont pas spécifiées, c’est à vous de les définir.

 XML est auto-descriptif.

 XML est une recommandation du W3C.

25/11/2020 [Link]@[Link] 92
Chapitre2: Parseur JSON et XML

Atelier 11:Parser un document XML en Android


XML & HTML

XML HTML
La structure, l’échange et le stockage de La présentation et l’affichage de
données données
La possibilité de définir des balises Les balises sont prédéfinies
La possibilité de programmer le document Le document de validation est unique
de validation. et prédéfini.
XML est une recommandation du W3C XML est une recommandation du W3C

25/11/2020 [Link]@[Link] 93
Chapitre2: Parseur JSON et XML

Atelier 11:Parser un document XML en Android


Exemple d’un document XML:
<?xml version="1.0" encoding="ISO-8859-6"?>
<bebliotheque>
<livre categorie=" Cuisine ">
<titre lang="en">Everyday Italian</titre>
<auteur>Giada De Laurentiis</auteur>
<annee>2005</annee>
<prix>30.00</prix>
</livre>
<livre categorie="Enfant">
<titre lang="en">Harry Potter</titre>
<auteur>J K. Rowling</auteur>
<annee>2005</annee>
<prix>29.99</prix>
</livre>
<livre categorie="WEB">
<titre lang="en">Learning XML</titre>
<auteur>Erik T. Ray</auteur>
<annee>2003</annee>
<prix>39.95</prix>
</livre>
</bebliotheque>

25/11/2020 [Link]@[Link] 94
Chapitre2: Parseur JSON et XML

Atelier 11:Parser un document XML en Android


Arbre d’un document XML:
<?xml version="1.0" encoding="ISO-8859-6"?> Prologue
<bebliotheque> La racine
<livre categorie=" Cuisine ">
<titre lang="en">Everyday Italian</titre>
<auteur>Giada De Laurentiis</auteur> Élément 1
<annee>2005</annee>
<prix>30.00</prix>
</livre>
<livre categorie="Enfant">
<titre lang="en">Harry Potter</titre>
<auteur>J K. Rowling</auteur> Élément 2
<annee>2005</annee>
<prix>29.99</prix>
</livre>
<livre categorie="WEB">
<titre lang="en">Learning XML</titre>
<auteur>Erik T. Ray</auteur> Élément 2
<annee>2003</annee>
<prix>39.95</prix>
</livre>
</bebliotheque>

25/11/2020 [Link]@[Link] 95
Chapitre2: Parseur JSON et XML

Atelier 11:Parser un document XML en Android


Arbre d’un document XML: La structure d’un élément
Balise d’ouverture d’un élément
Attribut Valeur
<livre categorie=" Cuisine ">
<titre lang="en">Everyday Italian</titre>
<auteur>Giada De Laurentiis</auteur>
<annee>2005</annee>
<prix>30.00</prix>
</livre>

Balise de fermeture d’un élément

25/11/2020 [Link]@[Link] 96
Chapitre2: Parseur JSON et XML

Atelier 11:Parser un document XML en Android


Téchnologies associées à XML:

 DTD  Document Type Definition.

 XSD  Schéma XML.

 XSL  Feuilles de styles pour XML.

 DOM XML  Document Object Model.

 Xlink  Liens hypertexte dans XML.

 Xquery  Il est pour XML ce que SQL est pour les DB.

25/11/2020 [Link]@[Link] 97
Chapitre2: Parseur JSON et XML

Atelier 11:Parser un document XML en Android


Téchnologies basées sur XML:

XML est partout. Il est l'outil le plus courant pour la transmission de données entre toutes sortes
d'applications, et devient de plus en plus populaire dans le domaine du stockage et la description de
l'information.

 SOAP  Echange de données entre applications.

 WSDL  web services.

 SMIL  Synchronized Multimedia Integration Language.

 SVG  Scalable Vector Graphics.

 Les serveurs d’applications : Jboss, …

 …

25/11/2020 [Link]@[Link] 98
Chapitre2: Parseur JSON et XML

Atelier 11:Parser un document XML en Android


Règles de syntaxe XML:

 Un document XML doit avoir un nœud RACINE.

 Les balises XML doivent être correctement imbriquées.

 Les balises XML doivent être fermées

 Les attributs de balises XML doivent être entourés de guillemets

 Les balises XML sont sensibles à la casse.

Un document XML qui respecte ces règles est dit bien formé.
(Well Formed)

25/11/2020 [Link]@[Link] 99
Chapitre2: Parseur JSON et XML

Atelier 11:Parser un document XML en Android


Entités prédéfinies en XML:

 Les caractère <, >, &, ' et " sont des entités réservées en XML, doivent être remplacés par leur
entité équivalente :

• &lt;  <  less than


• &gt;  >  greater than
• &amp;  & ampersand
• &apos;  ' apostrophe
• &quot;  " quotation mark

25/11/2020 [Link]@[Link] 100


Chapitre2: Parseur JSON et XML

Atelier 11:Parser un document XML en Android


Commentaire en XML:

 Identiques aux commentaires HTML


 <!-- Voici un commentaire -->
 Il est interdit de mettre un double-tiret (--) dans un commentaire
 Les commentaires ne doivent pas être insérés dans une balise ouvrante ou fermante

Elément en XML:

 Un élément commence à l’ouverture de la balise et fini à la fermeture de celle-ci.


 Exemple :
<naissance>
<date>12/12/1976</date>
<lieu>Casablnaca</lieu>
</naissance>
 L’élément <naissance> contient les éléments <date> et <lieu>. Ces deux derniers contiennent du
texte.
25/11/2020 [Link]@[Link] 101
Chapitre2: Parseur JSON et XML

Atelier 11:Parser un document XML en Android


Les attributs en XML:

 Les attributs sont utilisés pour donner des informations sur les éléments.
Exemple :
<img src="[Link]" />
pourrait s’écrire sous la forme :
<img>
<src>[Link]</src>
</img>
 Le premier cas est à utiliser car le nom du fichier n’est pas la données elle-même, mais une
information sur la donnée. (méta data)

25/11/2020 [Link]@[Link] 102


Chapitre2: Parseur JSON et XML

Atelier 11:Parser un document XML en Android


Le prologue en XML:

 Déclaration XML importante


<?xml version="1.0" encoding="utf-8" standalone="yes"?>
• version : version du XML 1.0
• encoding : Codage du jeu de caractères utilisé
• standalone : autonomie du document par rapport à une dtd externe (par défaut "no").
• Le fichier XML doit commencer par cette déclaration.

25/11/2020 [Link]@[Link] 103


Chapitre2: Parseur JSON et XML

Atelier 11:Parser un document XML en Android


XML: Exercice d’application

Un document News contient un ensemble d’articles.


 Chaque article est caractérisé par :
• un identificateur « id »
• Date de publication
• Nom de l’auteur
• Titre de l’article
• Résumé de l’article
• Image de l’article (chemin)
• Corps de l’article
• Liens de l’article
[Link] la structure du document

25/11/2020 [Link]@[Link] 104


Chapitre2: Parseur JSON et XML

Atelier 11:Parser un document XML en Android


DTD : Document Type Definition

 La DTD définit les éléments utilisables dans un document XML.

 Elle définit la structure du document avec une liste d'éléments et d'attributs autorisés.

 Un document XML bien formé et respectant les définitions de la DTD est dit Valide.

Pourquoi utiliser une DTD:

 Avec une DTD, on limite les balises et les attributs utilisables pour une application donnée.

 Avec une DTD, des groupes différents peuvent se mettre d’accord sur un format d’échange de
données.

 Avec une DTD, une application peut vérifier la validité des données qu’elle reçoit.
25/11/2020 [Link]@[Link] 105
Chapitre2: Parseur JSON et XML

Atelier 11:Parser un document XML en Android


DTD : Syntaxe d’une déclaration interne
 Syntaxe :
<!DOCTYPE élément-racine [déclaration-d-élément]>

Exemple:
<?xml version="1.0"?>
<!DOCTYPE message [
<!ELEMENT message (de, a, corps)>
<!ELEMENT de (#PCDATA)>
<!ELEMENT a (#PCDATA)>
<!ELEMENT corps (#PCDATA)> ]>
<message>
<de>Chougdali</de>
<a>MIAM</a>
<corps> Bonjour mes étudiants</corps>
</message>

25/11/2020 [Link]@[Link] 106


Chapitre2: Parseur JSON et XML

Atelier 11:Parser un document XML en Android


DTD : Déclaration

 Une DTD est déclarée dans un document XML.

 Elle peut être interne ou externe.

• Interne : définie dans le document

• Externe : Définie dans un fichier séparé et référencée dans le document XML

25/11/2020 [Link]@[Link] 107


Chapitre2: Parseur JSON et XML

Atelier 11:Parser un document XML en Android


DTD : Par quoi elle constituée un document XML?
 Eléments
Un élément peut contenir d’autres éléments, du texte ou être vide.
<message> … </message>
 Attributs
Les attributs apportent des informations supplémentaires sur un élément.
<img src="[Link]" />
 Entités
Permettent de remplacer les caractères spéciaux dans un document XML. Elle peuvent être
utilisé pour remplacer des blocks répétitifs dans un document XML.
&lt;  <  less than
 PCDATA
Comme « Parsed Character DATA » : du texte qu’on met généralement dans une balise.
Celui-ci est analysé par le parseur XML.
 CDATA
Comme « Character DATA » : du texte qu’on met généralement dans une balise. Celui-ci
n’est pas analysé, il peut donc contenir des caractères spéciaux…

25/11/2020 [Link]@[Link] 108


Chapitre2: Parseur JSON et XML

Atelier 11:Parser un document XML en Android


DTD : Déclaration d’un élément

 Syntaxe :

<!ELEMENT nom-élément categorie> ou <!ELEMENT nom-élément (contenu-élément)>

• Elément avec n’importe quel contenu


<!ELEMENT nom-élément ANY>
Exemple : <!ELEMENT p ANY>
Utilisation : <p>blaba<c /></p>
• Elément avec contenu non parsé
<!ELEMENT nom-élément (#CDATA)>
Exemple : <!ELEMENT sup (#CDATA)> Utilisation : <sup> &lt; </sup>

25/11/2020 [Link]@[Link] 109


Chapitre2: Parseur JSON et XML

Atelier 11:Parser un document XML en Android


DTD : Syntaxe d’une déclaration externe
 Syntaxe :
<!DOCTYPE élément-racine SYSTEM "nom-fichier">

Exemple:
• Fichier XML ([Link])
<?xml version="1.0">
<!DOCTYPE message SYSTEM "[Link]">
<message>
<de>Chougdali</de>
<a>MIAM</a>
<corps> Bonjour mes étudiants</corps>
</message>
• Fichier DTD ([Link])
<!ELEMENT message (de, a, corps)>
<!ELEMENT de (#PCDATA)>
<!ELEMENT a (#PCDATA)>
<!ELEMENT corps (#PCDATA)>
25/11/2020 [Link]@[Link] 110
Chapitre2: Parseur JSON et XML

Atelier 11:Parser un document XML en Android


DTD : Déclaration d’un élément

 Syntaxe :

<!ELEMENT nom-élément categorie> ou <!ELEMENT nom-élément (contenu-élément)>

• Elément vide
<!ELEMENT nom-élément EMPTY>

Exemple : <!ELEMENT br EMPTY> Utilisation : <br />

• Elément avec contenu parsé


<!ELEMENT nom-élément (#PCDATA)>
Exemple : <!ELEMENT de (#PCDATA)> Utilisation : <de> chougdali </de>

25/11/2020 [Link]@[Link] 111


Chapitre2: Parseur JSON et XML

Atelier 11:Parser un document XML en Android


DTD : Déclaration d’un élément

 Syntaxe :

<!ELEMENT nom-élément categorie> ou <!ELEMENT nom-élément (contenu-élément)>


• Elément avec enfant (s)
<!ELEMENT nom-élément (nom-enfant)>
<!ELEMENT nom-élément (enfant1,enfant2)>
Exemple : <!ELEMENT date (jour,mois,annee)>
Utilisation :
<date>
<jour>..</jour>
<mois>..</mois>
<annee>..</annee>
</date>
RQ:
Les éléments enfants doivent être déclarés à leur tour.

25/11/2020 [Link]@[Link] 112


Chapitre2: Parseur JSON et XML

Atelier 11:Parser un document XML en Android


DTD : Occurrences d’un élément

Cas 1:
<!ELEMENT nom-élément (nom-enfant)>
Dans cet exemple l’élément « nom-enfant » doit figurer une et une seule fois dans l’élément
« nom-élément ».
Cas 2:

<!ELEMENT nom-élément (enfant1,enfant2)>


Dans cet exemple les éléments « enfant1 » et « enfant2 » doivent figurer dans cet ordre une et
une seule fois dans l’élément « nom-élément ».
Cas 3:
<!ELEMENT nom-élément (enfant1?)>
Dans ce cas l’élément enfant peut figurer zéro ou une fois dans l’élément père.
Exemple : <!ELEMENT article (date?)>
25/11/2020 [Link]@[Link] 113
Chapitre2: Parseur JSON et XML

Atelier 11:Parser un document XML en Android


DTD : Occurrences d’un élément
Cas 4:
<!ELEMENT nom-élément (enfant1+)>
Dans ce cas l’élément enfant peut figurer une ou plusieurs fois dans l’élément père.
Exemple : <!ELEMENT fournisseurs (societe+)>
Cas 5:
<!ELEMENT nom-élément (enfant1*)>
Dans ce cas l’élément enfant peut figurer zéro ou plusieurs fois dans l’élément père.
Exemple : <!ELEMENT news (article*)>
Cas 6:
<!ELEMENT nom-élément (enfant1 | enfant2)>
Dans ce cas l’élément ne peut contenir que les deux éléments enfants (choix parmi plusieurs)
Exemple : <!ELEMENT logement (appart|villa)*> on peut mettre zéro ou plusieurs « appart » ou
« villa » dans l’élément « logement »
25/11/2020 [Link]@[Link] 114
Chapitre2: Parseur JSON et XML

Atelier 11:Parser un document XML en Android


DTD : Déclaration des attributs
 Les attributs sont déclarés à l’aide de : ATTLIST
• Syntaxe :

<!ATTLIST nom-élément
nom-attribut
type-attribut
valeur-par-defaut>
Exemple1 :
<!ELEMENT trait EMPTY>
<!ATTLIST trait couleur CDATA "noir">
Utilisation : <trait couleur="vert" /><trait />
Exemple 2:
<!ATTLIST etudiant CIN CDATA #REQUIRED>
Utilisation : <etudiant CIN="K376563" /> …<etudiant />

25/11/2020 [Link]@[Link] 115


Chapitre2: Parseur JSON et XML

Atelier 11:Parser un document XML en Android


DTD : Déclaration des attributs
 Les attributs sont déclarés à l’aide de : ATTLIST
• Syntaxe :

<!ATTLIST nom-élément
nom-attribut
type-attribut
valeur-par-defaut>
Exemple3 :
<!ELEMENT contact EMPTY>
<!ATTLIST contact fax CDATA #IMPLIED>
Utilisation : <contact fax="022222222"> <contact />

Exemple 4:
<!ATTLIST from societe CDATA #FIXED "IBM">
Utilisation : <from societe="IBM" /> …<from />

25/11/2020 [Link]@[Link] 116


Chapitre2: Parseur JSON et XML

Atelier 11:Parser un document XML en Android


DTD : Déclaration des attributs
 Les attributs sont déclarés à l’aide de : ATTLIST
• Syntaxe :

<!ATTLIST nom-élément
nom-attribut
type-attribut
valeur-par-defaut>
Exemple5 :
<!ATTLIST forme
type
(carre|rectangle|cercle)
"carre" >

Utilisation : <forme type="cercle" /> <forme />

25/11/2020 [Link]@[Link] 117


Chapitre2: Parseur JSON et XML

Atelier 11:Parser un document XML en Android


DTD : Déclaration des entités

 Les entités sont utilisés pour définir des raccourcis à du texte standard ou à des caractères
spéciaux.
 Syntaxe: <!ENTITY nom "valeur">

 La déclaration peut être interne ou externe


• Interne :
Exemple : <!ENTITY auteur "Ali Chaouni">
Utilisation : <auteur>&auteur;</auteur>
• Externe :
Exemple : <!ENTITY auteur SYSTEM "[Link]
Utilisation : <auteur>&auteur;</auteur>

25/11/2020 [Link]@[Link] 118


Chapitre2: Parseur JSON et XML

Atelier 11:Parser un document XML en Android


DTD : Exercice d’application

 Description d’une bibliothèque:

La biblio contient un ensemble de livre. Chaque livre appartient à une catégorie. Il est caractérisé
par :
• Un ou plusieurs auteurs :
Nom
Identificateurs des publications de l’auteur
• Un titre
Langue de l’ouvrage (fr, en, ar ou es)
Identificateur unique
• Un éditeur
• Un résumé
• La date de publication

Ecrire la DTD permettant de valider ce document

25/11/2020 [Link]@[Link] 119


Chapitre2: Parseur JSON et XML

Atelier 11:Parser un document XML en Android


Schéma XML

 Un schéma XML est un document XML avec extension xsd.

 La balise d’ouverture est de la forme suivante <xs:element name=" nomElement">.

 La balise de fermeture est de la forme suivante </xs:element>.

 Un schéma consiste à valider un document XML.

 Il définit la structure du document avec une liste d'éléments et d'attributs autorisés.

 Un document XML bien formé et respectant les exigences d’un schéma XML dit Valide.

25/11/2020 [Link]@[Link] 120


Chapitre2: Parseur JSON et XML

Atelier 11:Parser un document XML en Android


Schéma XML

Intérêt d’un schéma:

 Un schéma XML limite les balises et les attributs utilisables pour une application donnée.

 Avec un schéma XML, des groupes différents peuvent se mettre d’accord sur un format d’échange
de données.

 Avec un schéma XML, une application peut vérifier la validité des données qu’elle reçoit.

 L’avantage du schéma XML par rapport au DTD c’est que le schéma XML utilise XML comme
langage de programmation.

25/11/2020 [Link]@[Link] 121


Chapitre2: Parseur JSON et XML

Atelier 11:Parser un document XML en Android


Schéma XML: Exemple Élément racine

Attacher un schéma XML [Link]

25/11/2020 [Link]@[Link] 122


Chapitre2: Parseur JSON et XML

Atelier 11:Parser un document XML en Android


Schéma XML: Exemple: fichier [Link]

25/11/2020 [Link]@[Link] 123


Chapitre2: Parseur JSON et XML

Atelier 11:Parser un document XML en Android


Schéma XML: Exemple: fichier [Link]

25/11/2020 [Link]@[Link] 124


Chapitre2: Parseur JSON et XML

Atelier 11:Parser un document XML en Android


Schéma XML: Exemple: fichier [Link]

25/11/2020 [Link]@[Link] 125


Chapitre2: Parseur JSON et XML

Atelier 11:Parser un document XML en Android


Atelier

On reprend l’énoncés de l’atelier traité auparavant (partie JSON) et sachant que le web service
gratuit peut fournir une réponse format XML sous l’url:
[Link]

Développer une application mobile permet l’affichage du pays, température, pression et l’humidité
d’une locations choisi par l’utilisateur.

25/11/2020 [Link]@[Link] 126


Chapitre2: Parseur JSON et XML

Atelier 11:Parser un document XML en Android


Atelier

Réponse format XML: [Link]

25/11/2020 [Link]@[Link] 127


Chapitre2: Parseur JSON et XML

Atelier 11:Parser un document XML en Android


Atelier

Etape 1: Création de l’interface graphique

25/11/2020 [Link]@[Link] 128


Chapitre2: Parseur JSON et XML

Atelier 11:Parser un document XML en Android


Atelier

Etape 2: Création des méthodes pour lire et parser le fichier XML:

Les getters et les setters

25/11/2020 [Link]@[Link] 129


Chapitre2: Parseur JSON et XML

Atelier 11:Parser un document XML en Android


Etape 2: Création des méthodes pour lire et parser le fichier XML:

25/11/2020 [Link]@[Link] 130


Chapitre2: Parseur JSON et XML

Atelier 11:Parser un document XML en Android


Etape 2: Création des méthodes pour lire et parser le fichier XML:

25/11/2020 [Link]@[Link] 131


Chapitre2: Parseur JSON et XML

Atelier 11:Parser un document XML en Android


Etape 3: développer l’activité principale

25/11/2020 [Link]@[Link] 132


Chapitre2: Parseur JSON et XML

Atelier 11:Parser un document XML en Android


Etape 3: développer l’activité principale

25/11/2020 [Link]@[Link] 133


Chapitre2: Parseur JSON et XML

Atelier 11:Parser un document XML en Android


Etape 4: Définir la permission d’ accès à l’Internet sur [Link]

25/11/2020 [Link]@[Link] 134


Chapitre3: Utilisation des capteurs

Atelier 12:Utilisation du caméra en Android


 Presque 100% des applications android intègrent des images et des photos.

 Android offre plusieurs widgets permettant l’ajout et la personnalisation des images et des photo.

 Aussi android permet l’ajout des photos et des images capturés par le caméra du device à
l’application en temps réel.

 Android offre l’API Caméra utilisable directement pour ajouter des images à l’application.

 Android utilise le principe d’ intent pour utiliser le caméra du device.

 Les images capturées sont soit affichées directement sur les écrans et/ou stockées sur une mémoire
interne ou externe.

25/11/2020 [Link]@[Link] 135


Chapitre3: Utilisation des capteurs

Atelier 12:Utilisation du caméra en Android


L’atelier consiste à réaliser une application android avec l’écran suivant:
• Le clique sur l’image (appareil photo) active le caméra
du device.

• L’image capturée doit être afficher sur l’écran de


l’application pour obtenir l’écran suivant:

25/11/2020 [Link]@[Link] 136


Chapitre3: Utilisation des capteurs

Atelier 12:Utilisation du caméra en Android


Etape 1: Création du layout principal de l’application

25/11/2020 [Link]@[Link] 137


Chapitre3: Utilisation des capteurs

Atelier 12:Utilisation du caméra en Android


Etape 2: Dévloppement de l’activité

25/11/2020 [Link]@[Link] 138


Chapitre3: Utilisation des capteurs

Atelier 12:Utilisation du caméra en Android


 MediaStore.ACTION_IMAGE_CAPTURE: permet l’utilisation du caméra du device pour
prendre une photo.

 MediaStore.ACTION_VIDEO_CAPTURE: permet l’utilisation du caméra du device pour


prendre une vidéo.

 MediaStore.ACTION_IMAGE_CAPTURE_SECURE: retourne une image capturée par caméra


d’un device sécurisé.

 [Link]: permet de définir l’orientation de l’écran.

 MediaStore.EXTRA_SIZE_LIMIT: spécifier la taille limite de l’image ou vidéo capturée

25/11/2020 [Link]@[Link] 139


Chapitre3: Utilisation des capteurs

Atelier 13:Stockage interne des données en Android


 Android offre plusieurs modes de stockage de données:

• Stockage interne.

• Stockage externe.

• SQLite

• Stockage via un réseau

 Le stockage interne c’est le stockage des données (texte, image, son, video,…) dans la mémoire du
terminal android.

 Dans l’exemple qui suit nous traitons la manière de stocker un fichier texte dans la mémoire
interne du terminal.

 Le sauvegarde et la lecture d’un contenu de fichier sont assurés par les streams de communication
FileOutputStream et FileInputStream.
25/11/2020 [Link]@[Link] 140
Chapitre3: Utilisation des capteurs

Atelier 13:Stockage interne des données en Android


L’atelier consiste à réaliser une application qui permet de sauvegarder un texte saisi par l’utilisateur
sous forme d’un fichier texte dans la mémoire interne du terminal Android et par la suite la lecture de
ce fichier. L’interface principale de l’application est de la forme suivante:

25/11/2020 [Link]@[Link] 141


Chapitre3: Utilisation des capteurs

Atelier 13:Stockage interne des données en Android


Etape 2: Programmation de l’activité principale

 La méthode sauvegarder:

25/11/2020 [Link]@[Link] 142


Chapitre3: Utilisation des capteurs

Atelier 13:Stockage interne des données en Android


Etape 2: Programmation de l’activité principale

 La méthode lire:

25/11/2020 [Link]@[Link] 143


Chapitre2: Parseur JSON et XML

Atelier 13:Stockage interne des données en Android

Méthode Description
FileOutputStream (File f, boolean b) Un constructeur permet la création d’un stream de sortie pour écrire
dans un fichier
write (byte[] buffer, int byteOffset, Écrire un nombre de bytes à partir d’un tableau en commençant de la
int byteCount) position Offset du stream.

available() Retourne le nombre de bytes qu’on peut lire.


read (byte[] buffer, int byteOffset, Lire un nombre de bytes à partir d’un tableau en commençant de la
int byteCount) position Offset du stream.

25/11/2020 [Link]@[Link] 144


Chapitre3: Utilisation des capteurs

Atelier 14:AudioManger en Android


 Android offre via la classe AudioManger plusieurs méthodes pour contrôler le profile audio de

votre terminal android.

 Configurer le profile audio = mode sonnerie, mode vibreur ou mode silencieux.

 La configuration du mode est assurée par la méthode setRingerMode de la classe AudioManger.

 Il existe 3 modes:

• RINGER_MODE_VIBRATE: mode vibreur.

• RINGER_MODE_NORMAL: mode normal.

• RINGER_MODE_SILENT : mode silencieux.

 AudioManger offre la possibilité de contrôler le volume de la sonnerie.

25/11/2020 [Link]@[Link] 145


Chapitre3: Utilisation des capteurs

Atelier 14:AudioManger en Android


L’atelier consiste à réaliser une application android permet de contrôler le profile audio de votre
terminal Android, l’application consiste à changer le profile audio (Normal, Vibreur et Silencieux) via
des buttons et à chaque fois on peut afficher le mode choisi. L’interface principale de l’application est
la suivante:

25/11/2020 [Link]@[Link] 146


Chapitre3: Utilisation des capteurs

Atelier 14:AudioManger en Android


Etape 2: Programmation de l’activité principale

25/11/2020 [Link]@[Link] 147


Chapitre3: Utilisation des capteurs

Atelier 14:AudioManger en Android


Etape 2: Programmation de l’activité principale

25/11/2020 [Link]@[Link] 148


Chapitre3: Utilisation des capteurs

Atelier 14:AudioManger en Android


Etape 2: Programmation de l’activité principale

25/11/2020 [Link]@[Link] 149


Chapitre2: Parseur JSON et XML

Atelier 14:AudioManger en Android

Méthode Description
adjustVolume (int direction, int flags) Consiste à ajuster le volume d’un stream audio

getMode() Retourne le mode active

getStreamMaxVolume (int streamType) Retourne le volume maximal d’un stream donné.

getStreamVolume (int streamType) Retourne le volume courant d’un stream donné. .

25/11/2020 [Link]@[Link] 150


Chapitre3: Utilisation des capteurs

Atelier 15:Envoyer un SMS en Android


 L’application mobile doit offre des outils de communication avec le milieu extérieur tels que la
possibilité d’envoyer un SMS, un E-mail, et passer une communication.

 L’SMS () reste une manière de communication rapide et efficace.

 Android offre plusieurs API qui facilite la programmation de l’envoi des SMS, des E-mail ou
passer une appel téléphonique à partir d’une application mobile.

 Il existe deux manières pour envoyer un SMS en Android:

• L’utilisation de l’API SmsManager.

• L’utilisation Built-in Intent.

25/11/2020 [Link]@[Link] 151


Chapitre3: Utilisation des capteurs

Atelier 15:Envoyer un SMS en Android


1. Utilisation de l’API SmsManager:

L’atelier consiste à réaliser une application mobile permet l’envoi d’un SMS.

L’interface principale de l’application et la suivante:

25/11/2020 [Link]@[Link] 152


Chapitre3: Utilisation des capteurs

Atelier 15:Envoyer un SMS en Android


1. Utilisation de l’API SmsManager:

Programmation de l’activité principale:

25/11/2020 [Link]@[Link] 153


Chapitre3: Utilisation des capteurs

Atelier 15:Envoyer un SMS en Android


1. Utilisation de l’API SmsManager:

Programmation de l’activité principale:

25/11/2020 [Link]@[Link] 154


Chapitre3: Utilisation des capteurs

Atelier 15:Envoyer un SMS en Android


1. Utilisation de l’API SmsManager:

Définition de la permission pour envoyer un SMS

sur le fichier AndroidManifest:

25/11/2020 [Link]@[Link] 155


Chapitre3: Utilisation des capteurs

Atelier 15:Envoyer un SMS en Android


2. Utilisation de Built-in Intent:

L’atelier consiste à développer une application mobile permet l’envoi d’un SMS on utilisant le
principe de l’Intent, l’application est menu d’un bouton qui active tout simplement le service d’envoi
des SMS du device:

25/11/2020 [Link]@[Link] 156


Chapitre3: Utilisation des capteurs

Atelier 15:Envoyer un SMS en Android


2. Utilisation de Built-in Intent:

25/11/2020 [Link]@[Link] 157


Chapitre3: Utilisation des capteurs

Atelier 15:Envoyer un SMS en Android


2. Utilisation de Built-in Intent:

25/11/2020 [Link]@[Link] 158


Chapitre3: Utilisation des capteurs

Atelier 16:Envoyer un E-mail en Android


 Le concept d’ Intent est très utilisé en Android, permet aussi l’envoi des E-mails.

 Le programmeur peut développer le client email, comme il peut utiliser des clients email existants
comme Gmail, Yahoo, …

 Dans ce cas le programmeur est appelé a développer une application qui utilise le client email du
device.

 L’atelier consiste à développer une application mobile permet l’envoi d’un E-mail à un ou
plusieurs destinataires.

 L’atelier permet aussi d’apprendre la configuration des paramètres de l’E-mail.

 Notre application utilise un client E-mail du device tel que Gmail.

25/11/2020 [Link]@[Link] 159


Chapitre3: Utilisation des capteurs

Atelier 16:Envoyer un E-mail en Android


 L’interface graphique de l’application est la suivante:

25/11/2020 [Link]@[Link] 160


Chapitre3: Utilisation des capteurs

Atelier 16:Envoyer un E-mail en Android


 Développer l’activité principale:

25/11/2020 [Link]@[Link] 161


Chapitre3: Utilisation des capteurs

Atelier 16:Envoyer un E-mail en Android


 Développer l’activité principale:

25/11/2020 [Link]@[Link] 162


Chapitre3: Utilisation des capteurs

Atelier 17: Passer une appel téléphonique en Android


 Android offre la possibilité de passer une appelle téléphonique à partir d’un clique sur un widget
d’une application mobile.

 Passer une appelle téléphonique à partir d’une application mobile facilite l’utilisation de
l’application mobile.

 Passer une appelle téléphonique demande la définition des permissions sur le fichier
AndroidManifest de l’application.

 Android utilise le principe de l’Intent pour passer une appelle téléphonique.

 L’atelier consiste à développer une application mobile permet de passer une appelle téléphonique
à partir d’une clique sur un bouton.

25/11/2020 [Link]@[Link] 163


Chapitre3: Utilisation des capteurs

Atelier 17: Passer une appel téléphonique en Android


• Interface graphique de l’application:

25/11/2020 [Link]@[Link] 164


Chapitre3: Utilisation des capteurs

Atelier 17: Passer une appel téléphonique en Android


• Développement de l’activité principale:

25/11/2020 [Link]@[Link] 165


Chapitre3: Utilisation des capteurs

Atelier 17: Passer une appel téléphonique en Android


• Développement de l’activité principale:

25/11/2020 [Link]@[Link] 166


Chapitre3: Utilisation des capteurs

Atelier 18: Capture Audio en Android

• Android offre la possibilité de capter, enregistrer et réutiliser un contenu audio ou


video.

• Il existe plusieurs manières pour manipuler un contenu audio ou video en android, la


plus populaire est l’utilisation d’un objet de la classe MediaRecorder.

• Pour utiliser la classe MediaRecorder il faut configurer sur une instance de cette classe:

 La source de l’audio ou video par la méthode setAudioSource() ou setVideoSource().

 Le format du sortie et de encoding par la méthode setOutputForma() et setAudioEncoder() et


setVideoEncoder().

 Définir le fichier de sortie par la méthode setOutputFile().

25/11/2020 [Link]@[Link] 167


Chapitre3: Utilisation des capteurs

Atelier 18: Capture Audio en Android


• Pour démarrer l’enregistrement on utilise les méthodes prepare() et start().

• Pour arrêter l’enregistrement on utilise les méthodes stop() et release().

• Généralement on utilise la mémoire interne pour stocker le contenu Audio ou Video,


alors on déclare le fichier de sortie comme suit:

• Pour réutiliser le contenu Audio ou video on utilise un objet de la classe MediaPlayer.

• Le chemin du fichier qui présente le contenu Audio ou Video est donné par la méthode
setDataSource().

• On lance le contenu Audio ou Video via les méthodes prepare() et start().

25/11/2020 [Link]@[Link] 168


Chapitre3: Utilisation des capteurs

Atelier 18: Capture Audio en Android

25/11/2020 [Link]@[Link] 169


Chapitre3: Utilisation des capteurs

Atelier 18: Capture Audio en Android

25/11/2020 [Link]@[Link] 170


Chapitre3: Utilisation des capteurs

Atelier 18: Capture Audio en Android

25/11/2020 [Link]@[Link] 171


Chapitre3: Utilisation des capteurs

Atelier 18: Capture Audio en Android

25/11/2020 [Link]@[Link] 172


Chapitre3: Utilisation des capteurs

Atelier 18: Capture Audio en Android

25/11/2020 [Link]@[Link] 173


Chapitre3: Utilisation des capteurs

Atelier 18: Capture Audio en Android

25/11/2020 [Link]@[Link] 174


Chapitre3: Utilisation des capteurs

Atelier 19: Bluetooth en Android


• Bluetooth reste la technologie efficace pour transférer et recevoir les données.

• Android offre un Framework Bluetooth permet l’échange de données entre deux


diveces.

• L’API Bluetooth offre les fonctions suivantes:

 Activer et désactiver le Bluetooth.

 Chercher les terminaux actifs et avoir la liste de ces diveces.

 Se connecter à autre terminal.

• L’API Bluetooth s’articule sur la classe BluetoothAdapter.

• Pour activer le Bluetooth de votre terminal on utilise le principe des Intent.

25/11/2020 [Link]@[Link] 175


Chapitre3: Utilisation des capteurs

Atelier 19: Bluetooth en Android


• Pour avoir la liste des terminaux actifs on utilise la méthode getBondedDevices()
appliqué sur un objet de type BluetoothAdapter .

• Autre méthodes utiles:

Méthode Description
enable() Permet d’activer un objet de type BluetoothAdapter si il n’est pas actif.
isEnabled() Retourne true si l’adapter est actif.
disable() Permet de désactiver l’adapter.
getName() Retourne le nom de l’adapter.
setName(String name) Renommer un adapter Bluetooth
getState() Retourne l’état d’un adapter Bluetooth.

25/11/2020 [Link]@[Link] 176


Chapitre3: Utilisation des capteurs

Atelier 19: Bluetooth en Android

25/11/2020 [Link]@[Link] 177


Chapitre3: Utilisation des capteurs

Atelier 19: Bluetooth en Android

25/11/2020 [Link]@[Link] 178


Chapitre3: Utilisation des capteurs

Atelier 19: Bluetooth en Android

25/11/2020 [Link]@[Link] 179


Chapitre3: Utilisation des capteurs

Atelier 19: Bluetooth en Android

25/11/2020 [Link]@[Link] 180


Chapitre3: Utilisation des capteurs

Atelier 19: Bluetooth en Android

25/11/2020 [Link]@[Link] 181


Chapitre3: Utilisation des capteurs

Atelier 19: Bluetooth en Android

25/11/2020 [Link]@[Link] 182


Chapitre3: Utilisation des capteurs

Atelier 19: Bluetooth en Android

25/11/2020 [Link]@[Link] 183


Chapitre3: Utilisation des capteurs

Atelier 20: MediaPlayer en Android


• Android offre une classe nommée MediaPlayer permet le contrôle du playback d’un
audio ou d’un video.

• Pour utiliser les fonctionalités de la classe MediaPlayer il faut créer un objet de type
MediaPlayer via la méthode statique create () :

• raw c’est un dossier à créer dans le dossier src du projet et comporte le fichier audio
qui porte le nom song ici.

• La classe comporte plusieurs méthodes permettant la manipulation du fichier tels que:

25/11/2020 [Link]@[Link] 184


Chapitre3: Utilisation des capteurs

Atelier 20: MediaPlayer en Android


• Autre méthodes de la classe MediaPlayer:

Méthode Description
reset() Relecture du passage audio ou video
isPlaying() Retourne true si la lecture du passage audio ou video
est encore.
seekTo(positon) Lire un passage audio ou video à partir d’une
position donnée.
getCurrentDuration() Retourne la position courante du passage en
millisecondes
getDuration() Retourne la durée totale du passage en millisecondes
setVolume(float leftVolume, float rightVolume) Permet de régler le volume d’un passage
selectTrack(int index) Permet la sélection d’un passage parmi plusieurs
getTrackInfo() Récupère sous forme d’un tableau les informations
d’un passage.
25/11/2020 [Link]@[Link] 185
Chapitre3: Utilisation des capteurs

Atelier 20: MediaPlayer en Android

• Créer un dossier nommée raw dans le dossier res du projet,

• Le dossier raw comportera les fichiers Audio ou bien Video

25/11/2020 [Link]@[Link] 186


Chapitre3: Utilisation des capteurs

Atelier 20: MediaPlayer en Android

25/11/2020 [Link]@[Link] 187


Chapitre3: Utilisation des capteurs

Atelier 20: MediaPlayer en Android

25/11/2020 [Link]@[Link] 188


Chapitre3: Utilisation des capteurs

Atelier 20: MediaPlayer en Android

25/11/2020 [Link]@[Link] 189


Chapitre3: Utilisation des capteurs

Atelier 20: MediaPlayer en Android

25/11/2020 [Link]@[Link] 190


Chapitre3: Utilisation des capteurs

Atelier 20: MediaPlayer en Android

25/11/2020 [Link]@[Link] 191


Chapitre3: Utilisation des capteurs

Atelier 20: MediaPlayer en Android

25/11/2020 [Link]@[Link] 192


Chapitre4: Le partage d’un contenu en Android

Atelier 21: Integration SDK Facebook en Android


• Le partage d’un contenu à partir d’une application mobile sur les réseaux sociaux est
un moyen de la promotion de l’application.

• Une application mobile qui offre le partage d’un contenu est plus rentable.

• Android permet à une application de se connecter à la plateforme Facebook pour


partager des données.

• Il existe deux manière pour se connecter à la plateforme Facebook:

 On utilise le Facebook SDK.

 On utilise Intent Share.

• La méthode basée sur l’Intent Share est plus générale: commune pour touts les réseaux
sociaux.

25/11/2020 [Link]@[Link] 193


Chapitre4: Le partage d’un contenu en Android

Atelier 21: Integration SDK Facebook en Android


 La méthode basée sur Intent Share:

• Intent Share consiste à partager les données entre applications.

• Cette méthode ne demande pas l’intégration du SDK Facebook.

• Elle fait appel à l’application Facebook et passe les données à partager.

• Android offre un Intent pour partager des données entre applications:

• La création de l’Intent:

• La configuration et le lancement de l’activité:

25/11/2020 [Link]@[Link] 194


Chapitre4: Le partage d’un contenu en Android

Atelier 21: Integration SDK Facebook en Android


 La méthode basée sur Intent Share:

• Autre méthodes utiles :

Méthode Description
putExtra(String name, int value)
Permet d’ajouter des données à l’intent.
addCategory(String category)
Permet d’ajouter des catégories à l’intent
getAction() Avoir l’action de l’intent.
getCategories() Avoir une liste des catégories de l’intent.

25/11/2020 [Link]@[Link] 195


Chapitre4: Le partage d’un contenu en Android

Atelier 21: Integration SDK Facebook en Android


 La méthode basée sur Intent Share:

25/11/2020 [Link]@[Link] 196


Chapitre4: Le partage d’un contenu en Android

Atelier 21: Integration SDK Facebook en Android


 La méthode basée sur Intent Share:

25/11/2020 [Link]@[Link] 197


Chapitre4: Le partage d’un contenu en Android

Atelier 21: Integration SDK Facebook en Android


 La méthode basée sur Intent Share:

25/11/2020 [Link]@[Link] 198


Chapitre5: La géolocalisation

Atelier 22: Google Maps en Android


• L’intégration de la carte dans l’application mobile donne la possibilité de montrer des
points d’intérêt.

• Identifier des routes sur la carte.

• Personnaliser l’affichage sur la carte.

• Google donne la possibilité d’intégrer une Map dans votre projet Android.

• Google offre le choix de plusieurs types des cartes.

• API Google Map offre plusieurs fonctions tel que: l’ajout des markers, identification
des points, tracer un chemin, activer ou désactiver le zoom, …

• Pour utiliser GoogleMap il faut créer un objet de type GoogleMap:

25/11/2020 [Link]@[Link] 199


Chapitre5: La géolocalisation

Atelier 22: Google Maps en Android


• On utilise le widget fragment pour afficher une carte:

• L’intégration de la carte demande une reconfiguration du fichier [Link]


via la définition des permissions et l’ajout de la valeur du clé.

• On peut ajouter des markers sur la carte:

• On peut changer le type de la carte par la méthode setMapType():

25/11/2020 [Link]@[Link] 200


Chapitre5: La géolocalisation

Atelier 22: Google Maps en Android


• On peut activer ou désactiver le Zoom sur la carte :

• L’API GoogleMap offre encore des autres fonctions:

Méthode Description
addCircle() Tracer un cercle sur la carte.
addPolygon() Tracer un polygone sur la carte.
addTileOverlay() Tracer un carré plein sur la carte.
clear() Supprime touts les types des éléments posés sur la carte.
getMyLocation() Retourne la position actuelle de l’utilisateur.
snapshot() Permet de faire une operation d’imprime écran.

25/11/2020 [Link]@[Link] 201


Chapitre5: La géolocalisation

Atelier 22: Google Maps en Android


• L’atelier consiste intégrer une carte et ajouter un marquer.

 Etape1: Intégrer google maps à l’Application.

 Etape 2: Développer l’application:

Layout

Activity

[Link].

 Executer l’application sur un terminal.

25/11/2020 [Link]@[Link] 202


Chapitre5: La géolocalisation

Atelier 22: Google Maps en Android


 Etape1: Intégrer google maps à l’Application:

1. Télécharger la bibliothèque google-play-services.

2. Installer Google APIs SDK:

25/11/2020 [Link]@[Link] 203


Chapitre5: La géolocalisation

Atelier 22: Google Maps en Android


 Etape1: Intégrer google maps à l’Application:

3. Importer google-play-services à Eclipse:

File + import + Android + Existing Android Code Into Workspace + définir l’emplacement
du package google-play-services.

4. Configurer votre projet avec SDK: Clique droit sur le projet + Properties + add +
choisir google-play-services.

25/11/2020 [Link]@[Link] 204


Chapitre5: La géolocalisation

Atelier 22: Google Maps en Android


 Etape1: Intégrer google maps à l’Application:

5. Obtenir le clé de l’API (API Key):

 Obtenir le certificat clé (certificate key): ouvrir invite commande + se position sur le
dossier bin de votre jre + exécuter la commande suivante:

Le chemin de votre [Link] :Window + preferences + android + build

25/11/2020 [Link]@[Link] 205


Chapitre5: La géolocalisation

Atelier 22: Google Maps en Android


 Etape1: Intégrer google maps à l’Application:

5. Obtenir le clé de l’API (API Key):

 Obtenir le certificat clé (certificate key): ouvrir invite commande + se position sur le
dossier bin de votre jre + exécuter la commande suivante:

 Copier Le SHA1 qui présente certificate key.

25/11/2020 [Link]@[Link] 206


Chapitre5: La géolocalisation

Atelier 22: Google Maps en Android


 Etape1: Intégrer google maps à l’Application:

5. Obtenir le clé de l’API (API Key):

 Obtenir API Key a partir du Google console: [Link]

Copier le nom du
Copier SHA1 déjà
package du projet
enregistrer
indique sur le fichier
[Link]

 Copier la clé généré qu’est nécessaire pour l’étape développement.


25/11/2020 [Link]@[Link] 207
Chapitre5: La géolocalisation

Atelier 22: Google Maps en Android


Etape 2: développement de l’Application

25/11/2020 [Link]@[Link] 208


Chapitre5: La géolocalisation

Atelier 22: Google Maps en Android


Etape 2: développement de l’Application

25/11/2020 [Link]@[Link] 209


Chapitre5: La géolocalisation

Atelier 22: Google Maps en Android


Etape 2: développement de l’Application

25/11/2020 [Link]@[Link] 210


Chapitre5: La géolocalisation

Atelier 22: Google Maps en Android


Etape 2: développement de l’Application

25/11/2020 [Link]@[Link] 211


Chapitre5: La géolocalisation

Atelier 22: Google Maps en Android


Etape 3: Exécution de l’application

25/11/2020 [Link]@[Link] 212


Chapitre6: Animation en Android

Atelier 23: Animation en Android


 Android offre plusieurs manières pour réaliser des animations, la plus utilisée est basé
sur la classe AnimationUtils.

 Pour programmer une animation en android il faut avoir un objet de type Animation:

 Une animation est lancée sur un widget par la syntaxe:

 Généralement les formes d’animation tels que le zoom, la rotation, le décalage, … sont
définies via un fichier XML dans un dossier anim défini dans le dossier res du projet.

25/11/2020 [Link]@[Link] 213


Chapitre6: Animation en Android

Atelier 23: Animation en Android


 Autre méthodes de la classe Animation:

Méthode Description
start() Lancer une animation
setDuration( long duree) Configurer la durée de l’Animation
getDuration() Avoir la durée de l’animation.
end() Terminer une animation.
cancel() Stopper une animation.

25/11/2020 [Link]@[Link] 214


Chapitre6: Animation en Android

Atelier 23: Animation en Android


 Autre méthodes de la classe Animation:

25/11/2020 [Link]@[Link] 215


Chapitre6: Animation en Android

Atelier 23: Animation en Android


 Autre méthodes de la classe Animation:

25/11/2020 [Link]@[Link] 216


Chapitre6: Animation en Android

Atelier 23: Animation en Android


 Autre méthodes de la classe Animation:

25/11/2020 [Link]@[Link] 217


Chapitre6: Animation en Android

Atelier 23: Animation en Android


 Autre méthodes de la classe Animation:

25/11/2020 [Link]@[Link] 218


Chapitre6: Animation en Android

Atelier 23: Animation en Android


 Autre méthodes de la classe Animation:

25/11/2020 [Link]@[Link] 219


Chapitre6: Animation en Android

Atelier 23: Animation en Android


 Autre méthodes de la classe Animation:

25/11/2020 [Link]@[Link] 220


Chapitre6: Animation en Android

Atelier 23: Animation en Android


 Autre méthodes de la classe Animation:

25/11/2020 [Link]@[Link] 221


Chapitre7: Copier et coller un contenu en Android

Atelier 24: Clipboard en Android


 Android offre un outil pour copier et coller touts les formes de données.

 Les données peuvent être un texte, image, ….

 Android offre une bibliothèque basée sur les classes ClipboardManager, ClipData et
[Link] nécessaires pour Copier/Coller des données.

 Pour utiliser les fonctionalités il faut instancier un objet de type ClipboardManager.

 Pour copier des données, on utilise un objet de type ClipData

25/11/2020 [Link]@[Link] 222


Chapitre7: Copier et coller un contenu en Android

Atelier 24: Clipboard en Android


 Pour coller les données:

 Autres méthodes:

Méthode Description
getPrimaryClip() Retourne le clip primaire courant
hasPrimaryClip() Retourne true si le clip primaire courant occupe le clipboard
setText(CharSequence s) Mettre directement un texte dans un clipboard.
getText() Récupérer le texte d’un clipboard.

25/11/2020 [Link]@[Link] 223


Chapitre7: Copier et coller un contenu en Android

Atelier 24: Clipboard en Android

25/11/2020 [Link]@[Link] 224


Chapitre7: Copier et coller un contenu en Android

Atelier 24: Clipboard en Android

25/11/2020 [Link]@[Link] 225


Chapitre7: Copier et coller un contenu en Android

Atelier 24: Clipboard en Android

25/11/2020 [Link]@[Link] 226


Chapitre7: Copier et coller un contenu en Android

Atelier 24: Clipboard en Android

25/11/2020 [Link]@[Link] 227


Chapitre7: Copier et coller un contenu en Android

Atelier 24: Clipboard en Android

25/11/2020 [Link]@[Link] 228


Chapitre8: La persistance des données - Firebase

Atelier 25:
 Firebase est une base de données temps réel et noSQL JSON database.

25/11/2020 [Link]@[Link] 229


Chapitre8: La persistance des données - Firebase

Atelier 25:
Étape 1: Configurer Firebase

• Loger via un compte Google sur [Link]

• Ajouter un nouveau projet:

25/11/2020 [Link]@[Link] 230


Chapitre8: La persistance des données - Firebase

Atelier 25:
Étape 1: Configurer Firebase

• Ajouter un nouveau projet:

25/11/2020 [Link]@[Link] 231


Chapitre8: La persistance des données - Firebase

Atelier 25:
Étape 1: Configurer Firebase

• Ajouter un nouveau projet:

25/11/2020 [Link]@[Link] 232


Chapitre8: La persistance des données - Firebase

Atelier 25:
Étape 1: Configurer Firebase

• Ajouter un nouveau projet:

25/11/2020 [Link]@[Link] 233

Vous aimerez peut-être aussi