Des exercices
Ce quiz évalue votre maîtrise de Room, la bibliothèque de persistance locale d'Android Jetpack. Les 13 questions abordent la modélisation des entités, les DAO, les opérations asynchrones, les relations, les convertisseurs de types, les index, les transactions et les migrations. Vous devrez également comprendre le rôle de Flow, des bases en mémoire et des outils de test afin de concevoir une couche de données locale fiable et performante.
Répondez aux questions ci-dessous et consultez l'explication de chaque réponse.
0/13 répondues
Audio automatique activé : les prochaines questions seront lues quand vous cliquerez sur Continuer.
@Entity indique à Room qu'une classe représente une table. Chaque objet correspond généralement à une ligne et ses propriétés persistées à des colonnes.
L'annotation @Dao identifie un objet d'accès aux données. Room génère l'implémentation de ses méthodes annotées avec @Query, @Insert, @Update ou @Delete.
Room.databaseBuilder() construit une base persistante stockée dans un fichier. À l'inverse, inMemoryDatabaseBuilder crée une base temporaire en mémoire.
Un Flow retourné par Room est observable. Une nouvelle valeur est émise lorsque les données pertinentes changent, ce qui facilite la mise à jour réactive de l'interface.
Une fonction DAO suspend s'intègre aux coroutines et peut attendre la fin d'une opération sans bloquer le thread appelant. Elle convient aux lectures ou écritures ponctuelles.
Une migration décrit le passage d'une version de schéma à une autre. Elle permet, par exemple, d'ajouter une colonne ou une table sans supprimer les données des utilisateurs.
@Transaction regroupe les opérations dans une même transaction. En cas d'échec, les modifications peuvent être annulées afin d'éviter un état partiellement mis à jour.
Pour cette relation, un modèle de résultat peut contenir l'auteur avec @Embedded et les livres avec @Relation, en précisant les colonnes parent et enfant associées.
Un @TypeConverter transforme un type non pris en charge en type stockable, par exemple une date en nombre, puis réalise la conversion inverse lors de la lecture.
Un index peut accélérer les recherches, tris et jointures sur certaines colonnes. Il occupe toutefois de l'espace et doit être actualisé lors des insertions ou modifications.
Une base en mémoire ne possède pas de fichier persistant. Elle est particulièrement utile pour certains tests, car son contenu disparaît à sa fermeture.
@Upsert combine les intentions d'insertion et de mise à jour. Room insère l'entité si elle n'existe pas encore ou actualise l'enregistrement correspondant lorsqu'il existe.
MigrationTestHelper permet de créer une base selon une ancienne version, d'appliquer les migrations et de vérifier que le schéma final est valide.

Cours gratuitApprends le développement d'application iOS et SWIFT
7h16m
36 exercices

Cours gratuitFormation Flutter - Créer une application Android et iOS
2h56m
12 exercices

Cours gratuitFlutter pour Débutant
23h08m
39 exercices

Cours gratuitFormation React / React Native
5h01m
18 exercices

Cours gratuitFormation Android Studio
Nouveau
10h24m
37 exercices
Des milliers de cours en ligne en vidéo, livres électroniques et livres audio.
Pour tester vos connaissances lors de cours en ligne
Généré directement à partir de la galerie de photos de votre téléphone portable et envoyé à votre adresse e-mail
Téléchargez notre application via QR Code ou les liens ci-dessous :.
+ 10 millions
d'étudiants
Certificat gratuit et
valide avec QR Code
60 mille exercices
gratuits
Note de 4,8/5 dans les
magasins d'applications
Cours vidéo et livres
audio gratuits