Android

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

Le 10 décembre 2021 - 3 minutes de lecture

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.

Commentaires

Laisser un commentaire

Votre commentaire sera révisé par les administrateurs si besoin.