Categories: Android

Arguments Safe Compose : une meilleure façon de naviguer dans Jetpack Compose – Partie 3 | par Dilraj Singh | décembre 2021

Cet article sert de guide sur la façon de configurer votre projet pour inclure le processeur d’annotation de composition en tant que bibliothèque. J’ai exporté les fichiers JAR nécessaires dans le référentiel GitHub. Avant d’effectuer toute étape, assurez-vous que votre projet est configuré avec Compose. Si vous créez un nouveau projet, cela peut être fait en suivant

File -> New -> New Project -> Empty Compose Activity

dans Android Studio. Ou vous pouvez suivre le guide pour inclure Compose dans votre projet existant.

Vous devez télécharger ces fichiers jar et les placer dans le libs dossier de votre projet. La structure du projet sera la suivante :

Project
app
libs
annotation.aar
compose-annotation-processor.jar
src
main
java
res
build.gradle

Maintenant, nous devons inclure l’officiel ksp bibliothèque pour traiter les annotations respectives. Au app/build.gradle, incluez le plug-in KSP comme suit :

plugins {
id 'com.android.application'
id 'kotlin-android'
id("com.google.devtools.ksp") version "1.5.30-1.0.0"
}

J’utilise la version Kotlin 1.5.30, donc la version du plugin KSP sera 1.5.30-1.0.0. Assurez-vous que votre version Kotlin correspond à la version KSP avant le trait d’union. La dernière version peut être trouvée ici. Sur des lignes similaires, assurez-vous que votre version de Kotlin est la même partout. Vous trouverez ci-dessous quelques exemples d’utilisation de la version Kotlin.

app/build.gradle
composeOptions {
kotlinCompilerExtensionVersion compose_version
kotlinCompilerVersion '1.5.30'
}
build.gradle (project level)
ext {
compose_version = '1.0.3'
}
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.30"

Composer nécessite une version 1.0.3 pour la compatibilité avec la version Kotlin 1.5.30. Ensuite, incluez la dernière version de Gson et androidx.navigation. Les dernières versions peuvent être trouvées dans les liens précédents. Incluez également la dépendance KSP. ça doit aller app/build.gradle à l’intérieur de dependency bloquer.

implementation("com.google.code.gson:gson:2.8.8")
implementation("androidx.navigation:navigation-compose:2.4.0-beta02")
implementation("com.google.devtools.ksp:symbol-processing-api:1.5.30-1.0.0")

Ensuite, nous devons inclure les fichiers JAR que nous copions et collons dans le libs dossier.

implementation(files('libs/annotation-release.aar'))
ksp(files('libs/compose-annotation-processor.jar'))

Pour rendre notre fichier généré disponible au app module, nous devons demander à l’IDE de gérer certains fichiers sous build dossier visible. L’extrait suivant doit être écrit en app/build.gradle à la racine du fichier (pas à l’intérieur de blocs).

kotlin.sourceSets.main {
kotlin.srcDirs(
file("$buildDir/generated/ksp/"),
)
}
ksp {
arg("ignoreGenericArgs", "false")
}

Ça y est, nous pouvons maintenant utiliser le processeur d’annotations Compose et les fichiers générés correspondants.

@ComposeDestination
abstract class UserPage {
abstract val id: Int
abstract val names: ArrayList<String>
}

Et utilisez ce qui suit :

Merci.

AdminHacker

Recent Posts

Capacités, combinaisons de personnages et plus

Feu gratuit introduit de nouveaux personnages avec une compétence distincte après chaque mise à jour…

2 ans ago

COD Mobile taquine un crossover avec le légendaire rappeur Snoop Dogg

Dans une étrange tournure des événements qui semblerait insensée à quiconque vivait il y a…

2 ans ago

Les messages de Google suscitent enfin des réactions des iPhones et plus encore

  Google déploie aujourd'hui la mise à jour très attendue qui permettra aux utilisateurs de…

2 ans ago

Concours de design GT7 annoncé

  Pour célébrer le lancement de Gran Turismo 7, nous nous sommes associés à des…

2 ans ago

Apple annonce un plan de retour au bureau pour les employés d’entreprise, avec un modèle hybride à partir du 11 avril

  Une vue de la Space Needle depuis l'immeuble de bureaux d'Apple à Seattle au…

2 ans ago

Lots Tundra Tracker épuisés en seulement 3 minutes hier

  Tundra Tracker, une rondelle de suivi SteamVR née d'un Kickstarter réussi l'année dernière, a…

2 ans ago