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 (B)

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. (B)</p> Signup and view all the answers

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

<p>True (A)</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 (A)</p> Signup and view all the answers

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

<p>False (B)</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 (D)</p> Signup and view all the answers

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

<p>False (B)</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 (B)</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 (A)</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 (D)</p> Signup and view all the answers

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

<p>False (B)</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 (B)</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 (A)</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 (A)</p> Signup and view all the answers

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

<p>False (B)</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 (C)</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 (B)</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 (C)</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 (B)</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. (D)</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 (A)</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() (A), setResult() et onActivityResult() (B)</p> Signup and view all the answers

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

<p>True (A)</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 (A)</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 (A)</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() (C)</p> Signup and view all the answers

Flashcards

Ressources

Fichiers externes utilisés par le code, tels que des images, fichiers XML, etc.

Emplacement des ressources

Les ressources sont stockées dans le répertoire 'res' du projet.

Classe 'R'

Android crée une classe nommée 'R' pour accéder aux ressources depuis le code.

Valeurs simples

Définir des valeurs en XML, telles que des chaînes, des tableaux et des valeurs numériques.

Signup and view all the flashcards

Drawables

Stocker des images dans un format tel que JPEG ou PNG.

Signup and view all the flashcards

Layouts

Décrire l'interface utilisateur en XML pour créer des écrans.

Signup and view all the flashcards

Animations

Décrire des animations en XML.

Signup and view all the flashcards

Ressources XML

Stocker des fichiers XML qui peuvent être lus et traités.

Signup and view all the flashcards

Fichier de configuration Android (manifest)

Un fichier XML qui décrit la structure et les composants d'une application Android, y compris le point d'entrée, les composants et les permissions nécessaires.

Signup and view all the flashcards

Activité

Un élément applicatif qui représente un écran. Chaque écran d'une application correspond à une activité.

Signup and view all the flashcards

Logique métier d'une activité

La section code d'une activité, qui gère la logique métier et les événements liés à l'écran correspondant. Elle est implémentée en Java et hérite de la classe Activity.

Signup and view all the flashcards

Interface utilisateur d'une activité

L'interface utilisateur d'une activité est créée via des vues qui sont des briques élémentaires pour construire l'interface graphique d'une application Android.

Signup and view all the flashcards

Activité active

Un état d'une activité où elle est visible à l'écran et détient le focus utilisateur. La méthode onResume() est appelée.

Signup and view all the flashcards

Activité suspendue

Un état d'une activité où elle est visible mais ne détient pas le focus utilisateur. La méthode onPause() est appelée.

Signup and view all the flashcards

Activité arrêté

Un état d'une activité où elle est invisible et ne détient pas le focus utilisateur. La méthode onStop() est appelée.

Signup and view all the flashcards

View

Une vue est un objet graphique qui compose l'interface utilisateur d'une application Android. Exemples: TextView, Button, ImageView.

Signup and view all the flashcards

ViewGroup

Un conteneur de vues qui permet de structurer et de positionner les vues de manière hiérarchique. Exemples: LinearLayout, RelativeLayout, TableLayout.

Signup and view all the flashcards

Gabarit de vues (Layout)

Un gabarit de vues définit la disposition des vues et leur positionnement dans l'interface utilisateur d'une activité.

Signup and view all the flashcards

LinearLayout

Un type de gabarit qui aligne les vues horizontalement ou verticalement.

Signup and view all the flashcards

RelativeLayout

Un type de gabarit qui positionne les vues les unes par rapport aux autres en utilisant des coordonnées relatives.

Signup and view all the flashcards

TableLayout

Un type de gabarit qui organise les vues en lignes et colonnes, comme un tableau.

Signup and view all the flashcards

DIP (Density-Independent Pixel)

Une unité de mesure utilisée pour spécifier la largeur et la hauteur des vues. Elle permet de définir la taille des vues en fonction de la taille de l'écran.

Signup and view all the flashcards

Événement

Un événement qui déclenche une action dans l'application. Exemples: clic d'un bouton, saisie de texte, etc.

Signup and view all the flashcards

ACTION_CALL

Démarrer une activité permettant d'appeler un numéro de téléphone. Cette action lance une interface pour composer un numéro et appelle le numéro spécifié.

Signup and view all the flashcards

ACTION_DELETE

Démarrer une activité pour supprimer une donnée identifiée par une URI.

Signup and view all the flashcards

ACTION_DIAL

Afficher l'interface de composition téléphonique. Elle peut être pré-remplie par un numéro spécifié.

Signup and view all the flashcards

ACTION_EDIT

Démarrer une activité pour éditer des données.

Signup and view all the flashcards

ACTION_SEARCH

Démarrer une activité de recherche. L'expression de recherche peut être spécifiée dans l'extra de l'action.

Signup and view all the flashcards

ACTION_SEND

Envoyer des données, du texte ou des fichiers, par email ou SMS. Les paramètres dépendent du type d'envoi.

Signup and view all the flashcards

ACTION_SENDTO

Lancer une activité pour envoyer un message à un contact spécifié par une URI.

Signup and view all the flashcards

ACTION_VIEW

Démarrer une action pour visualiser un élément défini par une URI. C'est l'action la plus courante.

Signup and view all the flashcards

Ressources Android

Les ressources sont un élément essentiel dans le développement Android. Elles permettent de stocker des données, des images, des sons et autres éléments réutilisables dans votre application.

Signup and view all the flashcards

Où sont définies les ressources ?

Les ressources sont définies dans des fichiers XML, permettant une organisation claire et une gestion facile. Vous pouvez y trouver des chaînes de caractères, des images, des couleurs, etc.

Signup and view all the flashcards

Comment utiliser les ressources ?

Les ressources peuvent être utilisées dans vos fichiers XML ou dans votre code Java, permettant une intégration flexible dans votre application.

Signup and view all the flashcards

Utilisation des ressources dans le code Java

La classe statique R est générée automatiquement et vous permet d'accéder à vos ressources par leur identifiant. Cela simplifie l'accès à des ressources telles que des chaînes de caractères ou des images.

Signup and view all the flashcards

Classe Resources

La classe Resources vous permet de récupérer l'instance d'une ressource en utilisant son identifiant. Vous pouvez ensuite utiliser cette instance pour accéder à ses propriétés ou pour l'utiliser dans votre code.

Signup and view all the flashcards

Récupération d'objets graphiques

Pour les objets graphiques, vous pouvez utiliser leur identifiant pour les récupérer. Cela permet de manipuler directement les éléments visuels de votre interface.

Signup and view all the flashcards

Référencement des ressources dans les fichiers XML

Les ressources peuvent être référencées dans les fichiers XML en utilisant la syntaxe "@[package:]type/identificateur". Cela permet d'intégrer les ressources dans les fichiers XML.

Signup and view all the flashcards

Ressources référencées par d'autres ressources

Les ressources peuvent être utilisées comme valeurs d'attributs dans d'autres ressources XML. Cela permet de créer une hiérarchie et de réutiliser les ressources au sein de votre application.

Signup and view all the flashcards

Service Android

Les services Android sont des composants qui s'exécutent en arrière-plan. Ils peuvent mettre à jour des données, déclencher des notifications ou effectuer des tâches sans interagir avec l'utilisateur.

Signup and view all the flashcards

Gadget Android

Les Gadgets Android sont des composants graphiques qui peuvent être installés sur l'écran d'accueil. Ils affichent des informations pertinentes et permettent une interaction rapide avec l'utilisateur.

Signup and view all the flashcards

Fournisseur de contenu

Les fournisseurs de contenu sont des composants qui permettent de gérer et de partager des informations entre applications. Ils facilitent la communication entre différents composants de données.

Signup and view all the flashcards

Objets Intent

Les Intent sont des objets qui permettent la communication entre les composants Android. Ils décrivent l'action à effectuer et les données nécessaires.

Signup and view all the flashcards

Récepteur d'Intent

Les récepteurs d'Intent permettent d'être à l'écoute d'événements spécifiques. Ils reçoivent les Intents destinés à l'application et exécutent les actions correspondantes.

Signup and view all the flashcards

Notification Android

Les Notifications Android signalent des événements à l'utilisateur sans interrompre son activité principale. Elles sont utilisées pour des informations importantes ou des mises à jour.

Signup and view all the flashcards

Intent Filter

Les Intent Filter permettent de déclarer les Intents que l'application accepte de recevoir. Ils garantissent une communication efficace entre les composants Android.

Signup and view all the flashcards

Utilisations des Intents

Les Intents peuvent être utilisés pour démarrer une activité au sein de l'application, pour solliciter d'autres applications ou pour envoyer des informations. Ils offrent une grande flexibilité dans la communication.

Signup and view all the flashcards

startActivityForResult()

La méthode startActivityForResult() permet à une activité de démarrer une autre activité et de recevoir une réponse (un résultat) après la fermeture de la deuxième activité.

Signup and view all the flashcards

setResult()

La méthode setResult() permet à une activité fille de renvoyer un résultat à l'activité qui l'a lancée.

Signup and view all the flashcards

Code de retour

Le code de retour est un entier qui identifie le résultat renvoyé par l'activité fille. Certains codes de retour sont prédéfinis, tels que RESULT_OK et RESULT_CANCELED.

Signup and view all the flashcards

onActivityResult()

La méthode onActivityResult() est appelée dans l'activité parent lorsque l'activité fille se termine et renvoie un résultat. Elle reçoit le code de requête, le code de résultat et les données renvoyées par l'activité fille.

Signup and view all the flashcards

Code de requête

Le code de requête est un entier utilisé pour identifier quelle activité fille a appelé onActivityResult(). Il doit correspondre au code utilisé pour démarrer l'activité fille avec startActivityForResult().

Signup and view all the flashcards

Intent

L'objet Intent peut être utilisé pour passer des données entre les activités. Les données peuvent être des simples valeurs, des objets sérialisables ou des informations plus complexes.

Signup and view all the flashcards

Intent implicite

Un Intent implicite permet de lancer une activité sans spécifier explicitement l'application à utiliser. Le système Android recherche l'application appropriée en fonction du type d'action et des données fournies.

Signup and view all the flashcards

Action

Les actions sont des constantes définies par Android et spécifient le type d'action à effectuer. Par exemple, ACTION_DIAL pour lancer l'application de téléphone, ACTION_EDIT pour lancer l'application d'édition de texte.

Signup and view all the flashcards

Données

Les données sont fournies dans un Intent sous la forme d'un URI (Uniform Resource Identifier). L'URI identifie les données à traiter.

Signup and view all the flashcards

URI

Un URI (Uniform Resource Identifier) est une chaîne qui identifie une ressource sur Internet. Il est utilisé pour spécifier des données à traiter dans un Intent implicite

Signup and view all the flashcards

Type de contenu MIME

Le type de contenu MIME (Multipurpose Internet Mail Extensions) indique le type de données à traiter. Par exemple, text/plain pour du texte brut, image/jpeg pour une image JPEG.

Signup and view all the flashcards

Filtre

Un filtre est un élément XML dans le fichier AndroidManifest.xml qui spécifie les actions et les données qu'une application peut gérer.

Signup and view all the flashcards

Correspondance de filtre

Les filtres permettent au système Android de déterminer si une application correspond à un Intent implicite en fonction des actions et des données spécifiées.

Signup and view all the flashcards

Intents implicites : exemples

Les Intents implicites sont utilisés pour lancer des actions dans d'autres applications, telles que l'appel d'un numéro de téléphone, l'envoi d'un email ou la navigation sur un site web.

Signup and view all the flashcards

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

Android Resource Management
10 questions
Android Resource Management Quiz
42 questions
Android: Cykl Życia Activity i Uprawnienia
29 questions
Use Quizgecko on...
Browser
Browser