Podcast
Questions and Answers
Quel type de ressources est stocké dans le répertoire 'res/layout'?
Quel type de ressources est stocké dans le répertoire 'res/layout'?
Les ressources de l'application doivent être codées directement dans le code source.
Les ressources de l'application doivent être codées directement dans le code source.
False
Quel est le nom de la classe créée par Android pour référencer les ressources dans le code?
Quel est le nom de la classe créée par Android pour référencer les ressources dans le code?
R
Les fichiers texte, vidéo et son sont stockés dans le répertoire ______.
Les fichiers texte, vidéo et son sont stockés dans le répertoire ______.
Signup and view all the answers
Associez les types de ressources à leur répertoire associé:
Associez les types de ressources à leur répertoire associé:
Signup and view all the answers
Quelle affirmation est correcte concernant l'externalisation des ressources?
Quelle affirmation est correcte concernant l'externalisation des ressources?
Signup and view all the answers
Les fichiers de ressources sont convertis avant d'être placés dans le fichier APK.
Les fichiers de ressources sont convertis avant d'être placés dans le fichier APK.
Signup and view all the answers
Quels types de fichiers peuvent être stockés dans le répertoire 'res/drawable'?
Quels types de fichiers peuvent être stockés dans le répertoire 'res/drawable'?
Signup and view all the answers
Quelle action lance une activité pour composer un numéro de téléphone?
Quelle action lance une activité pour composer un numéro de téléphone?
Signup and view all the answers
L'action ACTION_VIEW permet de supprimer des données.
L'action ACTION_VIEW permet de supprimer des données.
Signup and view all the answers
Que doit-on spécifier dans le fichier de configuration pour certaines actions?
Que doit-on spécifier dans le fichier de configuration pour certaines actions?
Signup and view all the answers
ACTION_SEND envoie des données texte ou binaire par ______.
ACTION_SEND envoie des données texte ou binaire par ______.
Signup and view all the answers
Associez les actions aux descriptions appropriées:
Associez les actions aux descriptions appropriées:
Signup and view all the answers
Quel est le rôle de ACTION_SENDTO?
Quel est le rôle de ACTION_SENDTO?
Signup and view all the answers
ACTION_DELETE permet de composer un numéro de téléphone pré-rempli.
ACTION_DELETE permet de composer un numéro de téléphone pré-rempli.
Signup and view all the answers
Pour composer un numéro, on utilise l'action ACTION_______.
Pour composer un numéro, on utilise l'action ACTION_______.
Signup and view all the answers
Quel est le rôle principal du fichier AndroidManifest.xml dans une application Android?
Quel est le rôle principal du fichier AndroidManifest.xml dans une application Android?
Signup and view all the answers
Une activité Android peut être déclarée à la fois dans le code Java et dans un fichier XML.
Une activité Android peut être déclarée à la fois dans le code Java et dans un fichier XML.
Signup and view all the answers
Quel est le nom de la classe de base à partir de laquelle les activités Android héritent?
Quel est le nom de la classe de base à partir de laquelle les activités Android héritent?
Signup and view all the answers
Le fichier de configuration d'une application Android s'appelle _____ .
Le fichier de configuration d'une application Android s'appelle _____ .
Signup and view all the answers
Associez chaque type de gabarit à sa description:
Associez chaque type de gabarit à sa description:
Signup and view all the answers
Quel état d'activité Android est caractérisé par une activité visible qui reçoit le focus utilisateur?
Quel état d'activité Android est caractérisé par une activité visible qui reçoit le focus utilisateur?
Signup and view all the answers
La classe ViewGroup ne peut contenir que des instances de la classe View.
La classe ViewGroup ne peut contenir que des instances de la classe View.
Signup and view all the answers
Comment s'appelle la méthode appelée lors de la reprise d'une activité?
Comment s'appelle la méthode appelée lors de la reprise d'une activité?
Signup and view all the answers
Les événements utilisateur sous Android sont gérés par des _____ .
Les événements utilisateur sous Android sont gérés par des _____ .
Signup and view all the answers
Associez chaque méthode au bon état du cycle de vie de l'activité:
Associez chaque méthode au bon état du cycle de vie de l'activité:
Signup and view all the answers
Quel composant Android permet de partager des données entre différentes applications?
Quel composant Android permet de partager des données entre différentes applications?
Signup and view all the answers
Le layout 'fill_parent' et 'wrap_content' sont des valeurs prédéfinies pour la taille des gabarits.
Le layout 'fill_parent' et 'wrap_content' sont des valeurs prédéfinies pour la taille des gabarits.
Signup and view all the answers
Quel type d'objet est utilisé pour passer des messages entre les activités dans Android?
Quel type d'objet est utilisé pour passer des messages entre les activités dans Android?
Signup and view all the answers
La méthode _____ est appelée lorsque l'activité est créée pour la première fois.
La méthode _____ est appelée lorsque l'activité est créée pour la première fois.
Signup and view all the answers
Quel est un exemple d'utilisation des ressources dans le code Java?
Quel est un exemple d'utilisation des ressources dans le code Java?
Signup and view all the answers
Les objets Intent ne permettent pas d'interagir avec d'autres applications.
Les objets Intent ne permettent pas d'interagir avec d'autres applications.
Signup and view all the answers
Comment référence-t-on une ressource dans un fichier XML?
Comment référence-t-on une ressource dans un fichier XML?
Signup and view all the answers
Une ressource graphique en Android peut être récupérée en utilisant son identifiant avec la classe ______.
Une ressource graphique en Android peut être récupérée en utilisant son identifiant avec la classe ______.
Signup and view all the answers
Associez les éléments suivants avec leurs descriptions correspondantes :
Associez les éléments suivants avec leurs descriptions correspondantes :
Signup and view all the answers
Quel est l'objectif principal d'un Service dans Android?
Quel est l'objectif principal d'un Service dans Android?
Signup and view all the answers
Il est impossible d'utiliser la classe R pour accéder aux chaînes de caractères dans une application Android.
Il est impossible d'utiliser la classe R pour accéder aux chaînes de caractères dans une application Android.
Signup and view all the answers
Quelle méthode est utilisée pour démarrer une activité sans attendre de retour?
Quelle méthode est utilisée pour démarrer une activité sans attendre de retour?
Signup and view all the answers
Pour naviguer entre des écrans au sein d'une application, on utilise un ______.
Pour naviguer entre des écrans au sein d'une application, on utilise un ______.
Signup and view all the answers
Associez les types de ressources avec leurs identifiants correspondants :
Associez les types de ressources avec leurs identifiants correspondants :
Signup and view all the answers
Quelle classe est automatiquement générée pour accéder aux ressources?
Quelle classe est automatiquement générée pour accéder aux ressources?
Signup and view all the answers
Les Intent sont utilisés uniquement pour démarrer de nouvelles activités dans une application.
Les Intent sont utilisés uniquement pour démarrer de nouvelles activités dans une application.
Signup and view all the answers
Quelle est la portée d'un Gadget dans Android?
Quelle est la portée d'un Gadget dans Android?
Signup and view all the answers
L'instruction pour récupérer une ressource de type chaîne est : res.getString(R.______).
L'instruction pour récupérer une ressource de type chaîne est : res.getString(R.______).
Signup and view all the answers
Quel est le but de la méthode startActivityForResult() en Java?
Quel est le but de la méthode startActivityForResult() en Java?
Signup and view all the answers
La méthode setResult() est utilisée pour indiquer si une activité enfant a été réalisée avec succès.
La méthode setResult() est utilisée pour indiquer si une activité enfant a été réalisée avec succès.
Signup and view all the answers
Quel code de résultat est envoyé lorsque l'utilisateur clique sur le bouton 'NON'?
Quel code de résultat est envoyé lorsque l'utilisateur clique sur le bouton 'NON'?
Signup and view all the answers
La méthode OnActivityResult() reçoit trois paramètres : requestCode, resultCode et _____ .
La méthode OnActivityResult() reçoit trois paramètres : requestCode, resultCode et _____ .
Signup and view all the answers
Associez chaque type d'action avec son usage correspondant.
Associez chaque type d'action avec son usage correspondant.
Signup and view all the answers
Quelles méthodes sont utilisées pour renvoyer une valeur de retour d'une activité enfant?
Quelles méthodes sont utilisées pour renvoyer une valeur de retour d'une activité enfant?
Signup and view all the answers
Il est possible d'utiliser Intent implicite sans spécifier le destinataire.
Il est possible d'utiliser Intent implicite sans spécifier le destinataire.
Signup and view all the answers
Comment le système détermine-t-il le destinataire approprié pour un Intent implicite?
Comment le système détermine-t-il le destinataire approprié pour un Intent implicite?
Signup and view all the answers
Le format général d'URI est _____ .
Le format général d'URI est _____ .
Signup and view all the answers
Lorsqu'une activité enfant renvoie un résultat, quel code est utilisé pour indiquer que l'action a été validée?
Lorsqu'une activité enfant renvoie un résultat, quel code est utilisé pour indiquer que l'action a été validée?
Signup and view all the answers
Associez les méthodes avec leurs fonctionnalités:
Associez les méthodes avec leurs fonctionnalités:
Signup and view all the answers
Le requestCode dans onActivityResult() est utilisé pour savoir quelle activité a appelé la méthode.
Le requestCode dans onActivityResult() est utilisé pour savoir quelle activité a appelé la méthode.
Signup and view all the answers
Quel est le code statique final utilisé pour identifier une activité dans cet exemple?
Quel est le code statique final utilisé pour identifier une activité dans cet exemple?
Signup and view all the answers
Les valeurs par défaut pour le code de résultat sont RESULT_OK et _____ .
Les valeurs par défaut pour le code de résultat sont RESULT_OK et _____ .
Signup and view all the answers
Quelle méthode est utilisée pour afficher un message Toast dans l'activité?
Quelle méthode est utilisée pour afficher un message Toast dans l'activité?
Signup and view all the answers
Study Notes
Présentation des différents composants d'une application Android
- Une application Android est un ensemble de composants liés grâce à un fichier de configuration.
- Ce fichier de configuration est un fichier XML nommé AndroidManifest.xml.
- Il décrit notamment le point d'entrée de l'application et les composants (activités, services, etc.).
- Il définit aussi les permissions nécessaires pour l'exécution du programme.
Fichier de configuration Android (manifest)
- L'application Android est un assemblage de composants liés grâce à un fichier de configuration.
- Ce fichier décrit le point d'entrée de l'application (quel code doit être exécuté au démarrage).
- Il précise également les composants qui constituent l'application Android (activités, services, etc.) et les permissions nécessaires à son exécution.
- Le format de ce fichier est XML.
Exemple
- L'exemple de fichier AndroidManifest.xml illustre le format XML et les éléments clés.
- Le fichier spécifie le package de l'application, le numéro de version et l'icône de l'application.
- Il définit les activités de l'application et leurs propriétés.
- Les balises
<activity>
,<service>
,<receiver>
et<provider>
représentent les composants de l'application.
Composants d'une application Android
- Les composants d'une application Android peuvent être classés en éléments applicatifs et éléments d'interaction.
- Les éléments applicatifs incluent : Activité, Service, Fournisseur de contenu et Gadget (widget).
- Les éléments d'interaction incluent : Objet Intent, Récepteur d'Intents et Notification.
Activités de l'application
- Une activité correspond à une partie de l'application correspondant à un écran.
- Elle représente le bloc de base d'une application Android.
- Une activité est composée d'une hiérarchie de vues contenant chacune des vues.
- Elle gère la présentation de l'application et réagit aux actions de l'utilisateur.
- Une application avec plusieurs écrans possédera autant d'activités.
Utilisation
- Une activité est composée de deux volets: la logique métier et la gestion de son cycle de vie (implémentée en Java dans une classe héritant de Activity).
- Son interface utilisateur peut être définie de manière programmative dans le code de l'activité ou déclarative dans un fichier XML.
Logique métier d'une activité : Squelette minimal
- Le code fournit un exemple minimaliste de la logique métier d'une activité, illustrant l'importation des classes Activity et Bundle.
- La méthode onCreate() est appelée lors de la création de l'activité et est responsable de l'initialisation.
La balise
- La balise
<activity>
déclare une activité dans le fichier manifest. - Elle contient des paramètres tels que
name
(nom de la classe de l'activité),label
(nom texte de l'activité qui apparait sur le terminal),icon
(icône de l'activité).
Cycle de vie d'une activité
- Les activités Android passent par différentes phases ou états ("active", "paused", "stopped", "destroyed").
- La méthode onCreate() est essentielle au lancement initiale de l'activité.
- Les méthodes onResume(), onPause(), onStart() et onStop() traitent les changements d'état de l'activité.
- La méthode onDestroy() est lancée lors de la destruction de l'activité (par exemple, quand l'application est fermée).
Cycle de vie d'une activité Main
- Cette section fournit un exemple complet du cycle de vie d'une activité Main qui étend Activity.
- Les méthodes onCreate(), onDestroy(), onPause(), onResume(), onStart(), onStop() et onRestart() essentielles pour gérer les différentes phases de l'activité sont présentées.
Les interfaces d'applications : Les Vues
- Les vues sont les briques de construction de l'interface graphique d'une activité Android.
- Elles peuvent être prédéfinies par la plateforme (ex : Textes, Boutons) ou personnalisées par l'utilisateur.
- Chaque écran contient un arbre d'éléments de type View.
Les interfaces d'applications Android
- Les composants graphiques (boutons, images, cases à cocher) héritent de la classe View.
- Les vues peuvent être regroupées dans une structure arborescente à l'aide de ViewGroup.
- L'utilisation et le positionnement des vues sont gérés via des gabarits de vues.
Positionnement des vues avec les gabarits
- Les gabarits (layouts) sont des conteneurs pour positionner les objets (vues, autres gabarits).
- Il existe différents types de gabarits: LinearLayout, RelativeLayout, TableLayout.
- Ils permettent d'organiser les éléments sur l'écran (horizontalement, verticalement, dans un tableau, etc.).
Les propriétés communes à tous les types de gabarit
- layout_weight et layout_height définissent le comportement de remplissage en largeur et en hauteur.
- Les unités de mesures (taille précise en pixels, relative en DIP ou SP) impliquent des ajustements automatiques pour des tailles d'écran différentes.
Valeurs prédéfinies
- fill_parent : la vue prend toute la place disponible sur l'axe de disposition.
- wrap_content : la vue prend uniquement l'espace nécessaire à son contenu.
Création d'une interface utilisateur
- L'interface utilisateur peut être créée directement dans le code (instanciation de vues) ou de manière déclarative (dans un fichier XML).
- La méthode
setContentView
instancie et affiche un Layout existant.
Définition de l’interface en XML
- Les fichiers XML de définition d'interface sont stockés dans le dossier res/layout.
- Chaque fichier XML est associé à un ID unique utilisable dans le code.
Association entre activité et interface
- L'interface est affichée via une activité.
- La méthode
setContentView(id)
charge et affiche la ressource d'interface associé à l'ID. - Il faut redéfinir la méthode OnCreate de l’activité pour spécifier la définition de l’interface à afficher à l'aide de la méthode setContentView.
Spécification d'une vue pour l'activité
- Le code d'exemple montre comment spécifier une vue pour une activité en utilisant setContentView.
- Il illustre comment importer android.app.Activity et android.os.Bundle, créer une nouvelle activité étendue de la classe Activity, et définir la vue principale à l'aide de setContentView.
Création une interface dans le code source (sans définition XML)
- Le code d'exemple présente la création d’une interface dans le code source, sans utiliser de fichier XML déclaratif.
- Il instancie un objet TextView, définit son contenu et affiche ce TextView en utilisant setContentView.
Utilisation des gabarits
- Pour intégrer une ou plusieurs vue à une activité, on utilise des gabarits de vues (layouts).
- La méthode
setContentView()
permet de spécifier le layout à afficher. - On peut utiliser des layouts prédéfinis (ex: LinearLayout avec
setOrientation(VERTICAL | HORIZONTAL)
) ou créer ses propres layouts en XML.
Gestion des événements
- Les actions utilisateur sont traitées comme des événements capturés par les éléments d'une interface utilisateur.
- Les événements sont gérés à travers des écouteurs (listeners).
- Un clic (onClic()) sur un objet graphique déclenche une méthode d'écouteur associée.
Insertion d’un bouton dans l’interface
- L’exemple montre comment insérer un bouton dans une interface XML.
- On utilise la balise
<Button>
pour définir le bouton.
Création d'un écouteur sur un bouton
- Le code illustré crée un écouteur personnalisé (OnClickListener) pour un bouton.
- La méthode
onClick
du listener est exécutée en réaction au clic sur le bouton, affichant un message via Toast.
Les ressources
- Les ressources sont des fichiers externes qui ne contiennent pas d'instructions.
- Elles incluent des images (JPEG, PNG), fichiers XML, etc.
- Android fournit la classe
R
pour référencer les ressources.
Type de ressources
- Différents types de ressources sont gérés (valeurs simples, drawables, layouts, animations, ressources XML, ressources brutes).
- Chaque type a un répertoire spécifique dans votre projet Android (res_values, res_drawable, res_layout, etc.).
Création de ressources
- Les ressources (entiers, booléens, chaînes de caractères...) peuvent être définies déclarativement dans un fichier XML.
- L'ID unique de chaque ressource est utilisée dans le code pour l'utiliser comme paramètre de la classe
R
.
Utilisation des ressources
- On utilise les ressources via leur identifiant présent dans la classe
R
.String hw = res.getString(R.string.hello);
- Il faut spécifier un namespace (
android.R.id.
) avant l'utilisation d'une ressourceR
dans unfindViewById()
.
Utilisation des ressources dans les fichier XML
- Les ressources déclarées dans les fichiers XML sont référencées avec le préfixe
@
.@string/table_contenu_cellule_gauche
.
Autres composants
- Un service est un composant qui fonctionne en arrière-plan (invisibles pour l'utilisateur).
- Un gadget est un composant graphique qui s'affiche sur le bureau Android (par ex. le calendrier).
- Un fournisseur de contenu permet de gérer et de partager des informations entre différentes applications et au sein d'une même application.
Communication entre composants
- L'interaction entre composants se fait via les objets
Intent
. - Les
Intent
permettent de lancer des actions (ou des composants) dans d'autres applications ou au sein de la même application, ou encore d'échanger des données.
Objets Intent
- Les Intents sont les objets pour exprimer ce qu'une application souhaite faire (opération).
- Les Intents peuvent être utilisés pour :
- lancer une autre activité
- faire communiquer une activité avec une autre
- envoyer des données entre ces activités
- Les Intents possèdent des éléments pour les actions à faire, leurs données, etc.
Principe de fonctionnement
- Les Intents permettent de :
- démarrer une activité au sein de l'application (navigation).
- déclencher l'exécution d'actions dans d'autres applications.
- transmettre des données entre applications ou activités.
Naviguer entre écrans
- Démarrer une activité sans attendre de retour via
startActivity()
. - Démarrer une activité et obtenir un retour via
startActivityForResult()
. - Ceci inclut l'utilisation des méthodes
ForResult()
et les argumentsrequestCode
etresultcode
et la réception de valeurs retournées.
Utilisation d’Intent implicite
- Pour solliciter une action d'une autre application, on utilise un Intent implicite.
- L'Intent doit définir les actions, les donnés (URI) et le type de contenu (
MIME Type
) pour permettre au système de trouver l'application/composant approprié à exécuter.
Spécifier les permissions liées aux actions
- Certaines actions, comme les appels téléphoniques ou l'accès aux données réseau, nécessitent des permissions spécifiques à déclarer dans le fichier AndroidManifest.xml via les balises
<uses-permission>
.
Filtrer les actions
- Les applications peuvent définir la liste des actions qu'elles permettent d'exécuter via les balises
<intent-filter>
. - L'attribut
android:name
de la balise<action>
et<category>
spécifie les actions et catégories prises en charge.
Réagir à la réception d'un Intent
- Pour réagir à la réception d'un Intent, l'activité doit implémenter la méthode
onActivityResult()
. - Cela permet d'accéder et de traiter les données envoyées par la requête d'Intent.
Permissions
- Pour accéder aux données personnelles (contacts , calendrier, etc.), les permissions appropriées sont nécessaires.
- Ces permissions doivent être déclarées dans le fichier
AndroidManifest.xml
(balise<uses-permission>
). - Certaines actions comme passer un appel téléphonique, acceder aux contacts ou au compte Google pourraient nécessiter des permissions explicites.
Configuration de l'affichage
- L'affichage d'une liste d'éléments dans une activité Android se fait habituellement avec le composant
RecyclerView
. -
RecyclerView
gère l'affichage des éléments, permettant un défilement optimisé. - On configure l'affichage du
RecyclerView
via desLayoutManagers
(e.g.LinearLayoutManager
,StaggeredGridLayoutManager
). - Ces classes gèrent l'organisation des éléments sur l'écran selon leurs propriétés ou le type d'affichage souhaité (liste, grille, etc.).
Optimisation du défilement
-
RecyclerView.setHasFixedSize(true)
est important pour une bonne optimisation d'affichage, surtout pour les grands ensembles d'éléments.
LayoutManager
- Il définit comment les éléments de
RecyclerView
s'organisent (grille, liste, etc). - Il faut spécifier un objet LayoutManager approprié au RecyclerView.
LayoutManager dans le layout.xml
- On peut définir le type de
LayoutManager
directement dans le fichier XML du layout duRecyclerView
.
Layout Manager, suite
-
LinearLayoutManager
: dispose les éléments en liste (vertical ou horizontal). -
GridLayoutManager
: dispose les éléments en grille. -
StaggeredGridLayoutManager
: dispose les éléments en grille, en autorisant des hauteurs d'éléments variables.
Separateur entre items
- Des séparateurs peuvent être ajoutés entre les éléments d'une liste
RecyclerView
. -
DividerItemDecoration
définit des séparateurs dans une liste.
Actions sur la liste
- La gestion des clics sur les éléments d'une liste
RecyclerView
(par ex. action de sélection, etc.) implique l'utilisation d'interfacesOnItemClickListner
. - Les méthodes de notification (
notifyItemInserted
,notifyItemChanged
, etc.) informuent l'adaptateur des changements apportés à la liste sous-jacente.
Défilement vers un élément
-
scrollToPosition(int pos)
permet de faire défiler rapidement leRecyclerView
à la position demandée.
Clic sur un élément
- L'utilisateur interagit avec les éléments d'une liste, avec des clics simples ou longs.
- Le lien entre l’activité MainActivity et l’élément cliqué passe obligatoirement par
ViewHolder
etOnItemClickListener
. - Un click utilisateur est reçu par le
ViewHolder
correspondant et déclenche unlistener
sur un objet qui doit être mis à jour dans MainActivity.
Notre écouteur de clic
- Une interface
OnItemClickListener
est définie pour gérer les clics sur les éléments.
Notre écouteur de clics, suite
- Les
ViewHolders
doivent mémoriser et mettre à jour l'écouteurOnItemClickListener
. - L'adaptateur (
PlaneteAdapter
) doit transmettre l'interfaceOnItemClickListener
auxViewHolders
pendant la création.
Notre écouteur de clics, suite et fin
- L'activité
MainActivity
implémente l'interfaceOnItemClickListener
pour garantir la propagation des actions aux objets concernés.
Schéma récapitulatif
- Le schéma met en évidence les flux de données entre l'activité, l'adaptateur et les
ViewHolders
. - L'adaptateur gère la liste de données et la passe aux
ViewHolders
. - Un clic sur un
ViewHolder
déclenche l'écouteur dans l'adaptateur.
Bases de données SQLite
-
SQLite
: une base de données embarquée dans Android, idéale pour les applications Android. -
SQLiteOpenHelper
: une classe pour gérer la création/mise à jour des bases de donnéesSQLite
sur chaque appareil Android. -
Les méthodes
onCreate
,onUpgrade
permettent de créer et de mettre à jour les tables. -
SQLiteDatabase
: permet l'accès aux opérationsSQL
sur les bases de donnéesSQLite
. -
La classe
DAO
(Data Access Objects) contient les méthodes pour exécuter les requêtesSQL
. -
Cursor
: utilisé pour parcourir les données retournées par les requêtesSQL
.
Les curseurs
- Les curseurs sont des objets qui contiennent les résultats d'une requête SQL.
-
moveToFirst()
,moveToNext()
, etc. permettent de naviguer dans le jeu de résultats.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Related Documents
Description
Testez vos connaissances sur les types de ressources dans une application Android et les actions associées. Ce quiz couvre les répertoires de ressources, les classes essentielles, et les actions comme ACTION_SEND et ACTION_VIEW. Découvrez si vous êtes à jour sur les meilleures pratiques de gestion des ressources en Android.