Vous êtes sur la page 1sur 11

TRAVAUX DIRIGES CORRIGES

Exercice 1
1. Donner les différences entre les applications natives, hybrides
et multiplateformes
 Une application native : c’est une application développée pour
un système d’exploitation particulier.
 Une application hybride : c’est une application conçue pour
fonctionner sur n’importe quel système d’exploitation
 Une application multiplateforme : c’est une application
conçue pour fonctionner sur plusieurs plateformes
informatiques
2. Définir
Une application mobile : c’est un type de logiciel d’application
conçu pour fonctionner sur un appareil mobile.
3. Quelles sont spécificités des applications mobiles ?
 Ressources limitées
 Matériels diversifies
 Ubiquités des utilisateurs
 Adaptation au support matériel
 Mode d’interaction

4. Quelles sont les avantages du développement sous Android ?


 Open source
 Accessibilité
 Communauté élargie
 Permet d’innover

Exercice 2 : Décrire les différentes couches de l’architecture du système


d’exploitation Android ci-dessous :
 Noyau linux : contient tous les pilotes de périphériques de bas
niveau
 Couche d’abstraction matérielle HAL : elle définit les interfaces
standards que les fournisseurs de matériel doivent implémenter
 Les services systèmes : permettent d’accéder aux matériel sous-
jacent.
o Système server : gestionnaire de fenêtre et notification
o Système media : pour la lecture et l’enregistrement des
médias
 Binder IPC proxies : joue le rôle de medium entre les services de
bas niveau et notre application
 Cadre applicatif : fournit des informations utiles sur la mise en
œuvre des pilotes

Exercice 3
1. Quels sont les éléments à prendre en compte lorsque l’on veut
choisir une version du noyau Android ?
 Les fonctionnalités souhaitées,
 La compatibilité par rapport au téléphone actuellement en service,
 Les exigences du client, du projet.

2. Définitions
 Activité : fenêtre d'une application Android
 Content Provider : élément permettant le partage des ressources
entre des activités
 Intent : Evènement sous Android
 Service : Appli exécutée en arrière-plan et généralement sans
interface graphique
 Manifest : fichier XML qui définit la structure et les métadonnées de
l'application
 Widget : Composant d'une interface graphique
 XML Layout : fichier xml permettant la mise en forme d'une interface
graphique sous android
 Container : ensemble structuré de widgets

3. Le SDK permet de fournir un ensemble d'outils pour le développement


d'applications Android.
Des outils du SDK : Emulateur, débuggeur, ADB, extensions et
librairies.
4. Un Emulateur : permet de faire des tests pendant le développement
de l'application sans sortir de l'IDE.
5. Gradle : gestionnaire de dépendances sous Android.
Permet de compiler le code, télécharger les paquets les plus adaptés
pour une application donnée.

6. Le gradle se trouve à la racine du projet dans le dossier gradle script.

1-Quels sont les éléments à prendre en compte lorsque l’on veut choisir
une version du noyau Android -
+ les fonctionnalités voulues
+ le nombre d'utilisateurs qui utilisent cette version
+ pour question de compatibilité avec d'autre application
2-Définir les termes suivants ou dites a quoi elles servent : Activity,
Content Provider, Intent, Service, Manifest, Widget, XML Layout,
Container
 Manifest : définit la structure et les métadonnées de
l'application
 Widget composant d'interface graphique
 Xml Layout pour faire de la disposition, structure les widgets et
designer une interface graphique.
 Container : gère la disposition de composant d'une interface
 SDK : outils de développement d'application android
 Gradle : gestionnaire de dépendance sous android.
 Le rôle du gradle est généralement de télécharger les
packages les mieux adapter pour notre application de compiler
le program
Le gradle se trouve à la racine du projet dossier gradle script.
Exercice 4
1. Composants d'une application :
 Activités,
 Services,
 Widgets,
 Intents,
 Notifications
 Récepteurs d’intents
 Fournisseur de contenu
2. Volets d'une activité sous Android :
 La logique (le volet métier)
 Et l'interface graphique.
3. Oui l'interface graphique est définissable de façon programmative en
instanciant les classes.
NB :
 Déclarative = XML ;
 Programmative = Java.
4. Ce code est le squelette minimal d'une application android permettant
de créer une activité et lier le fichier java au fichier xml.

5. Les états du cycle de vie d'une application android :


 onStart : lance une activité
 onCreate : crée une activité
 onPause : définit le comportement d'une application lors d'une
interruption courte.
 onStop : arrête l'application mais celle-ci tourne toujours en arrière-
plan
 onDestroy : tue le processus et libère de l'espace mémoire (Forcer
l'arrêt)
 onResume : relance l'application après onPause
 onRestart : relance l'application après un onStop.

o Les composants d'une application android : activité, widget, ..


o Android a 2 volets qui sont la logique métier et l'interface utilisateur
o La logique métier concerne toutes les fonctionnalités de notre
application
o Peut-on définir une interface utilisateur de façon programmative ?
oui en instation les objets widgets dans le code java. De façon
déclarative c'est dans le xml
o Que représente la figure ci-dessous :c'est un squelette minimal qui
permet de créer une active et de le lier cette au fichier xml
5-
 Un ListAdapter : c'est une implémentation de array adapter mais
pour une interface
 Les AdapterView (ListView, GripView) permet d'afficher les
éléments de array du code java
 AdapterView c'est interface d’affichage, il définit la structure de
données au niveau d’adapter on définit la structure de données
 ArrayAdapter définit les éléments de même type, les types qui ne
sont pas complexe et on les afficher en utilisant les view
 ArrayAdapter est la superclasse de BaseAdapter
 Pour afficher une liste des éléments de type différents comme image
et texte on crée une classe qui hérite de la classe base adapter pour
définir sa propre structure de données
Exercice 5
1. ViewGroup et View : View classe mère et ViewGroup classe héritée.
2. Exemple de ViewGroup :
 Linearlayout,
 GridLayout,
 RelativeLayout,
 ConstraintLayout
 TableLayout
 FrameLayout etc...
3. Exemples d’attributs de gabarits(Layouts) :
 Android : width= ‘’ ‘’,
 Android : height= ‘’ ‘’,
 Android : orientation = ‘’ ‘’,
 Android : gravity = ‘’ ‘’,
 Android : padding = ‘’ ‘’
4. Une ressource est un fichier qui peut être importé dans un projet
(images, texte, icones). Syntaxe pour retrouver un Layout dans Java :
setContentView (R. Layout.le_nom)
5. Syntaxe indispensable pour retrouver un Layout dans le code : id
6. drawable : images, icones... mipmap : images, icones (mais en
général celles pour les icones et le splash screen).
 Drawable : contient les images de notre application
 Mipmap : pour les images indispensables par défaut, background,
icons d'affiche
 Values pour les couleurs et chaine de caractères.
 Layout contient tous les fichier xml

Exercice 6
1. Rôle :
 findViewById : Lier un widget à une variable du code java
 onTextChanged : Déclencher une action suite au changement du
texte d'un ediText
 setOnClickListener : Ajoute un écouteur sur un widget permettant
de savoir s’il a été cliqué
 onClick : Méthode qui déclenche une action à la suite d'un clic.
 addTextChangedListener : Ajoute un écouteur sur un editText
pour savoir s'il est modifié.
2.
 Va afficher stop pendant 6s (LENGTH_LONG).
 v.getContext () permet de récupérer l'état de l'application, son contexte
à ce moment précis : exemple une Activité.
 C’est une méthode qui contient des arguments ( 4 argument) qui permet
de déclencher une action lorsque le texte ou le contenu d'un editText
change // toujours préciser la nature de l'évènement
1-
 setOnClickListener c'est une méthode permettant d’écouter
d'évènement.
 Mais onClick c'est la méthode qui permet d'exécuter
 L’Overide permet de surcharger la méthode, que le fonctionnement
de la méthode va changer.

Exercice 7
1.Pourquoi les ConstraintLayout ? Pour les interfaces complexes
(beaucoup de détails).
2. C'est quoi un ArrayAdapter ? La relation avec un ListAdapter.
1- Généralement utiliser pour les interfaces complexes, permet une
designer une interface xml sans avoir recourir au code xml
2-
 ListAdapter : Liste contenant les éléments de même type
 ArrayAdapter : tableau qui contient les éléments de type différents
généralement utiliser pour les ListView complexes
Exercice 8
1-. Quelles sont les composantes d’interactions d’une application mobile
?
 Les intents filters,
 Les intents,
 Les récepteurs d'Intent,
 Notification.
 Intent filters : type d'action que doit recevoir une activité. Pour
identifier les types d'intents ?

Ou est déclarer l’Intent filter : Dans le fichier manifest. Il renvoie au type


d’actions que doit recevoir une action.
Types d’Intent :
o Intent action : action soit native du système, soit définie par
l’utilisateur.
o Intent catégories : Default, App_View, APP_MARKET,
APP_MUSIQUE

2- Lister les éléments que contient un Objet Intent ?


 L’action à réaliser
 Les données
 Les données supplémentaires
 Une catégorie
 Des drapeaux
3- A quoi sert la méthode startActivityForResult ?
Elle permet à une activité de récupérer les données d'une activité qu’elle
a créé. Exemple : une activité 1 ouvre une activité 2. L’utilisateur remplit
les données dans l'activité 2. L’activité 2 renvoi ces données a l'activité 1
qui a implémenter la méthode startActivityForResult

4- Quelle différence existe-t-il entre startActivityForResult et


startActivity ?
 startActivityForResult : récupère les données de l’activité
précédente avant de lancer la nouvelle activité
 startActivity : lance une nouvelle activité

5- Pourquoi a-t-on besoin des préférences partagées :


Avec les préférences partager seul l'application peut accéder au fichier. Il
y a un contrôle d'accès au fichier car les autres applications ne pourront
pas le voir permet la persistance les données plus facilement sous forme
de clés valeurs.
Exercice 9 :
1. A quoi servent les permissions ?
Demander l’avis de l’utilisateur afin d’accéder à ces ressources
2. Donner un exemple de permission sous Android
 Contenu audio
 Accéder à internet
 Accéder aux contacts
 Accéder aux contenus multimédias
 Camera
 Sms
 Appels
 Carte SD
 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"
/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

3. A quoi servent les Préférences partagées

 Permet uniquement à l’application en question de


sauvegarder les données
 Gère la persistance des données sous forme de clé valeur
dans la mémoire du téléphone tout en contrôlant l’accès
aux fichiers
4. Listez les différentes façons de persister les données applicatives
sous Android
 Des entrées sorties de type Fichier
 Préférences partagées
 BD sur SQLite
 Mécanisme de sauvegarde clé/valeur
5. Quels sont les attributs des préférences ?
 Title
 Key
 Summary
6. Lorsqu’une application n’est pas permise :
 L’accès est bloqué
 Google signal cela comme une application malveillante
Exercice 10
1. Comment s’appelle la méthode permettant de référencer
a. getView ()
b. fetchInterface ()
c. getElementById ()
d. findElementByid
e. Aucune réponse
2. Quelle est la méthode permettant d’intercepter le clic de
l’utilisateur sur un bouton ?
a. addListener ()
b. setOnClickListener ()
c. setListener ()
d. Aucune réponse

3. Comment s’appelle la classe Android qui centralise l’ensemble


des identifiants de toutes les ressources du projet ?
a. La classe r
b. La classe GlobalRessources
c. La classe Activity
d. Aucune réponse
4. L'attribut XML à utiliser pour ajouter de l'espace autour d'un
élément graphique (et non à l'intérieur) est :
a. layout_margin
b. layout_width
c. padding
d. gravity
e. Aucune reponse
5. Quelle classe Android permet d’afficher une boite de dialogue
a l’utilisateur ?
a. PopUpDialog
b. NotificationWindow
c. AlertView
d. OverlayMessage
e. AlertDialog
f. Aucune réponse
6. Quelle classe Android permet d’afficher à l’utilisateur un
message éphémère en bas de l’écran
a. La classe Popup
b. La classe Message
c. La classe Tost
d. La classe Notification
e. Aucune réponse

QUESTIONS SUPPLEMENTAIRE
1. Méthodes permettant de récupérer les valeurs par un Intent
 onActivityResult ()
 getIntent ()
2. Niveau de filtrage d’un filtre
 Filtrage par action
 Filtrage par catégorie
 Filtrage par données
3. getExtra () : permet d’échanger les données entre deux activités.
Elle permet de récupérer les valeurs ajoutées
putExtra () : permet d’ajouter les valeurs dans un Intent.

4. Exemples de ViewGroup
 LinearLayout : dispose les éléments de gauche à droite ou
du haut vers le bas
 RelativeLayout : les éléments enfants sont placés les uns
par rapport aux autres
 TableLayout : disposition matricielle
 FrameLayout : disposition en haut à gauche en empilant les
éléments
 GridLayout : disposition matricielle avec N colonnes et un
nombre infini de lignes
 ConstraintLayout : disposition à base de contraintes entre
les éléments

Vous aimerez peut-être aussi