Ressources Android et actions
59 Questions
0 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Quel type de ressources est stocké dans le répertoire 'res/layout'?

  • Des ressources images
  • Fichiers XML
  • Des valeurs simples
  • Description des interfaces (correct)
  • 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?

    R

    Les fichiers texte, vidéo et son sont stockés dans le répertoire ______.

    <p>res/raw</p> Signup and view all the answers

    Associez les types de ressources à leur répertoire associé:

    <p>Valeurs simples = res/values Drawables = res/drawable Animations = res/anim Ressources XML = res/xml</p> Signup and view all the answers

    Quelle affirmation est correcte concernant l'externalisation des ressources?

    <p>Elle permet une meilleure maintenance.</p> Signup and view all the answers

    Les fichiers de ressources sont convertis avant d'être placés dans le fichier APK.

    <p>True</p> Signup and view all the answers

    Quels types de fichiers peuvent être stockés dans le répertoire 'res/drawable'?

    <p>Ressources images</p> Signup and view all the answers

    Quelle action lance une activité pour composer un numéro de téléphone?

    <p>ACTION_DIAL</p> Signup and view all the answers

    L'action ACTION_VIEW permet de supprimer des données.

    <p>False</p> Signup and view all the answers

    Que doit-on spécifier dans le fichier de configuration pour certaines actions?

    <p>les permissions nécessaires</p> Signup and view all the answers

    ACTION_SEND envoie des données texte ou binaire par ______.

    <p>courriel ou SMS</p> Signup and view all the answers

    Associez les actions aux descriptions appropriées:

    <p>ACTION_CALL = Appeler un numéro de téléphone ACTION_DELETE = Supprimer une donnée ACTION_SEARCH = Démarrer une activité de recherche ACTION_WEB_SEARCH = Effectuer une recherche sur Internet</p> Signup and view all the answers

    Quel est le rôle de ACTION_SENDTO?

    <p>Envoyer un message à un contact</p> Signup and view all the answers

    ACTION_DELETE permet de composer un numéro de téléphone pré-rempli.

    <p>False</p> Signup and view all the answers

    Pour composer un numéro, on utilise l'action ACTION_______.

    <p>DIAL</p> Signup and view all the answers

    Quel est le rôle principal du fichier AndroidManifest.xml dans une application Android?

    <p>Décrire les composants de l'application</p> 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.

    <p>True</p> Signup and view all the answers

    Quel est le nom de la classe de base à partir de laquelle les activités Android héritent?

    <p>Activity</p> Signup and view all the answers

    Le fichier de configuration d'une application Android s'appelle _____ .

    <p>AndroidManifest.xml</p> Signup and view all the answers

    Associez chaque type de gabarit à sa description:

    <p>LinearLayout = Alignement horizontal ou vertical des éléments RelativeLayout = Positionnement des éléments par rapport les uns aux autres TableLayout = Positionnement des éléments en lignes et colonnes FrameLayout = Affichage d'une seule vue dans un conteneur</p> Signup and view all the answers

    Quel état d'activité Android est caractérisé par une activité visible qui reçoit le focus utilisateur?

    <p>Active</p> Signup and view all the answers

    La classe ViewGroup ne peut contenir que des instances de la classe View.

    <p>False</p> Signup and view all the answers

    Comment s'appelle la méthode appelée lors de la reprise d'une activité?

    <p>onResume</p> Signup and view all the answers

    Les événements utilisateur sous Android sont gérés par des _____ .

    <p>écouteurs</p> Signup and view all the answers

    Associez chaque méthode au bon état du cycle de vie de l'activité:

    <p>onCreate = Initialisation de l'activité onPause = L'activité est en pause onStop = L'activité n'est plus visible onDestroy = L'activité est détruite</p> Signup and view all the answers

    Quel composant Android permet de partager des données entre différentes applications?

    <p>Fournisseur de contenu</p> Signup and view all the answers

    Le layout 'fill_parent' et 'wrap_content' sont des valeurs prédéfinies pour la taille des gabarits.

    <p>True</p> Signup and view all the answers

    Quel type d'objet est utilisé pour passer des messages entre les activités dans Android?

    <p>Intent</p> Signup and view all the answers

    La méthode _____ est appelée lorsque l'activité est créée pour la première fois.

    <p>onCreate</p> Signup and view all the answers

    Quel est un exemple d'utilisation des ressources dans le code Java?

    <p>les ressources sont définies avec des identifiants</p> Signup and view all the answers

    Les objets Intent ne permettent pas d'interagir avec d'autres applications.

    <p>False</p> Signup and view all the answers

    Comment référence-t-on une ressource dans un fichier XML?

    <p>@/type/identificateur</p> Signup and view all the answers

    Une ressource graphique en Android peut être récupérée en utilisant son identifiant avec la classe ______.

    <p>Resources</p> Signup and view all the answers

    Associez les éléments suivants avec leurs descriptions correspondantes :

    <p>Service = Fonctionne en tâche de fond Gadget = Composant graphique sur le bureau Fournisseur de contenu = Partage des informations entre applications Intent = Permet de déclencher des actions</p> Signup and view all the answers

    Quel est l'objectif principal d'un Service dans Android?

    <p>Mettre à jour des sources de données</p> 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.

    <p>False</p> Signup and view all the answers

    Quelle méthode est utilisée pour démarrer une activité sans attendre de retour?

    <p>startActivity()</p> Signup and view all the answers

    Pour naviguer entre des écrans au sein d'une application, on utilise un ______.

    <p>Intent</p> Signup and view all the answers

    Associez les types de ressources avec leurs identifiants correspondants :

    <p>String = R.string Layout = R.layout Drawable = R.drawable Id = R.id</p> Signup and view all the answers

    Quelle classe est automatiquement générée pour accéder aux ressources?

    <p>R</p> Signup and view all the answers

    Les Intent sont utilisés uniquement pour démarrer de nouvelles activités dans une application.

    <p>False</p> Signup and view all the answers

    Quelle est la portée d'un Gadget dans Android?

    <p>Il s'installe sur le bureau Android.</p> Signup and view all the answers

    L'instruction pour récupérer une ressource de type chaîne est : res.getString(R.______).

    <p>string</p> Signup and view all the answers

    Quel est le but de la méthode startActivityForResult() en Java?

    <p>Démarrer une activité et recevoir un résultat.</p> 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.

    <p>True</p> Signup and view all the answers

    Quel code de résultat est envoyé lorsque l'utilisateur clique sur le bouton 'NON'?

    <p>RESULT_CANCELED</p> Signup and view all the answers

    La méthode OnActivityResult() reçoit trois paramètres : requestCode, resultCode et _____ .

    <p>data</p> Signup and view all the answers

    Associez chaque type d'action avec son usage correspondant.

    <p>ACTION_DIAL = Composer un numéro de téléphone ACTION_EDIT = Modifier un contenu ACTION_CALL = Passer un appel téléphonique ACTION_ANSWER = Prendre en charge un appel entrant</p> Signup and view all the answers

    Quelles méthodes sont utilisées pour renvoyer une valeur de retour d'une activité enfant?

    <p>setResult() et finish()</p> Signup and view all the answers

    Il est possible d'utiliser Intent implicite sans spécifier le destinataire.

    <p>True</p> Signup and view all the answers

    Comment le système détermine-t-il le destinataire approprié pour un Intent implicite?

    <p>En se basant sur les filtres et les informations de l'Intent.</p> Signup and view all the answers

    Le format général d'URI est _____ .

    <p>schéma://hote:port/chemin</p> 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?

    <p>RESULT_OK</p> Signup and view all the answers

    Associez les méthodes avec leurs fonctionnalités:

    <p>startActivityForResult() = Démarre une activité et attend un résultat setResult() = Renvoyer un code de résultat onActivityResult() = Recevoir le résultat d'une activité finish() = Terminer l'activité actuelle</p> Signup and view all the answers

    Le requestCode dans onActivityResult() est utilisé pour savoir quelle activité a appelé la méthode.

    <p>True</p> Signup and view all the answers

    Quel est le code statique final utilisé pour identifier une activité dans cet exemple?

    <p>CODE_MON_ACTIVITE</p> Signup and view all the answers

    Les valeurs par défaut pour le code de résultat sont RESULT_OK et _____ .

    <p>RESULT_CANCELED</p> Signup and view all the answers

    Quelle méthode est utilisée pour afficher un message Toast dans l'activité?

    <p>makeText()</p> 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 ressource R dans un findViewById().

    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.
    • 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 arguments requestCode et resultcode 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 des LayoutManagers (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 du RecyclerView.

    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'interfaces OnItemClickListner.
    • 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 le RecyclerView à 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 et OnItemClickListener.
    • Un click utilisateur est reçu par le ViewHolder correspondant et déclenche un listener 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'écouteur OnItemClickListener.
    • L'adaptateur (PlaneteAdapter) doit transmettre l'interface OnItemClickListener aux ViewHolders pendant la création.

    Notre écouteur de clics, suite et fin

    • L'activité MainActivity implémente l'interface OnItemClickListener 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ées SQLite 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érations SQL sur les bases de données SQLite.

    • La classe DAO (Data Access Objects) contient les méthodes pour exécuter les requêtes SQL.

    • Cursor : utilisé pour parcourir les données retournées par les requêtes SQL.

    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.

    Quiz Team

    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.

    More Like This

    Use Quizgecko on...
    Browser
    Browser