Créer l'application RoomWordsSample¶
Remarque
Dans ce TP, vous êtes censé créer des propriétés, importer des classes et extraire des valeurs selon les besoins. Le code que vous êtes censé connaître est fourni mais pas expliqué.
Un TP 100 % Kotlin
Tout le code de ce TP est écrit en Kotlin, et les scripts Gradle en Kotlin DSL (fichiers .gradle.kts). Lors de la création du projet, vérifiez bien ces deux choix (étape 3 ci-dessous).
1.1 Créer une application avec une seule activité¶
- Ouvrez Android Studio et cliquez sur New Project.
- Dans la fenêtre New Project, choisissez Basic Views Activity et cliquez sur Next.

-
Sur l'écran suivant, configurez votre application, puis cliquez sur Finish :
- Name :
RoomWordSample - Package name :
com.example.enetcom.roomwordsample - Save location : le dossier de votre dépôt cloné (voir la Tâche 0)
- Language : Kotlin
- Build configuration language : Kotlin DSL (build.gradle.kts)
- Name :
-
Ouvrez
themes.xml, changez le parent du thèmeBase.Theme.RoomWordSamplede l'application par Theme.Material3.Light.NoActionBar et supprimez le fichierthemes.xml (night).Info
Ceci permet d'avoir une interface utilisateur cohérente, car le mode sombre peut être activé sur vos émulateurs ou téléphones.
-
Supprimez le répertoire navigation sous les ressources (
res). -
Supprimez toutes les mises en page et classes Kotlin des fragments :
FirstFragment.ktetSecondFragment.ktfragment_first.xmletfragment_second.xml
-
Supprimez la balise
fragmentdecontent_main.xml. -
Supprimez les dépendances de la bibliothèque de navigation dans le fichier
build.gradle.kts (Module: app)et synchronisez le projet :build.gradle.kts (Module: app) Noms des dépendances
Les noms exacts (
libs.androidx.navigation.fragment.ktx, …) peuvent varier légèrement selon la version d'Android Studio. Supprimez simplement les deux lignes qui contiennentnavigation. -
Nettoyez
MainActivity.kt:Supprimez les imports inutilisés, la fonction de navigation
onSupportNavigateUp()et toutes les variables en rouge liées à la bibliothèque de navigation (appBarConfiguration,navHostFragment,navControlleret l'appel àsetupActionBarWithNavController()).Résultat attendu
Après le nettoyage,
MainActivityressemble à ceci (le code généré peut varier légèrement selon la version d'Android Studio) : -
Exécutez votre application pour vérifier que tout fonctionne correctement.
1.2 Mettre à jour les fichiers Gradle¶
Ensuite, vous devez ajouter les bibliothèques de composants à vos fichiers Gradle.
Le fichier libs.versions.toml (le catalogue de versions) centralise les versions et les coordonnées des bibliothèques du projet. Chaque entrée de la section [libraries] devient une propriété de l'objet libs, utilisable dans les scripts Gradle : les tirets de l'alias deviennent des points (room-runtime → libs.room.runtime).
| build.gradle.kts (Module: app) | |
|---|---|
- La coordonnée de la bibliothèque est écrite directement dans le script, sous la forme
groupe:nom:version.
| libs.versions.toml | |
|---|---|
- Le numéro de version est déclaré une seule fois, sous le nom
room. - L'alias
room-runtimeregroupe legroup, lenameet la version (version.refrenvoie à la variableroom).
| build.gradle.kts (Module: app) | |
|---|---|
- Le script utilise l'alias du catalogue : plus aucun numéro de version dans le script.
Le plugin KSP (Kotlin Symbol Processing) est également déclaré dans le catalogue : c'est lui qui permet au compilateur de Room de générer le code de la base de données à partir de vos annotations Kotlin.
- Dans Android Studio, cliquez sur l'onglet Project et développez le dossier Gradle Scripts.
- Ouvrez le fichier
libs.versions.toml. -
À la fin de la section
[versions], ajoutez les trois variables suivantes qui définissent les versions des bibliothèques "room" et "lifecycle" ainsi que celle du plugin "ksp" : -
À la fin de la section
[libraries], ajoutez la définition des packages des deux bibliothèques ainsi que leurs versions respectives : -
À la fin de la section
[plugins], ajoutez la définition du plugin KSP :libs.versions.toml -
Ouvrez le fichier
build.gradle.kts (Project: RoomWordSample)et déclarez le plugin KSP dans le blocplugins(sans l'appliquer à la racine du projet) :build.gradle.kts (Project: RoomWordSample) - Ligne à ajouter. Les autres lignes déjà présentes dans votre fichier restent inchangées.
-
Ouvrez le fichier
build.gradle.kts (Module: app)et appliquez le plugin KSP au module de l'application :build.gradle.kts (Module: app) - Ligne à ajouter. Les autres lignes déjà présentes dans votre fichier restent inchangées.
-
Dans le même fichier, ajoutez le code suivant en bas du bloc des dépendances
dependencies(mais toujours à l'intérieur du bloc) :kspet nonannotationProcessorLe compilateur de Room doit être déclaré avec
ksp(...). La configurationannotationProcessor, réservée aux sources Java, ne traiterait aucune de vos classes Kotlin. -
Cliquez sur Sync Now pour synchroniser votre projet avec les nouveaux fichiers Gradle.