Member-only story
Type Safety In Navigation Compose.
3 min readJul 18, 2024
Now we can use type-safety in navigation compose library. Type safety means we can generate type safe classes for navigating and passing data between the destinations/screens (A → B → C → A). Let’s understand through some codes.
Dependencies
// libs.versions.toml
[versions]
....
....
....
nav_version = "2.8.0-beta05"
koltin-serializable = '1.6.3'
[libraries]
....
....
....
navigation-compose = { group = "androidx.navigation", name = "navigation-compose", version.ref = "nav_version" }
kotlin-serializable = { group = "org.jetbrains.kotlinx", name = "kotlinx-serialization-json", version.ref = "koltin-serializable" }
[plugins]
....
....
kotlin-serializable-pulgin = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }
// build.gradle (module)
plugins {
....
....
id("org.jetbrains.kotlin.plugin.serialization")
}
android{
....
....
....
//compose navigation
implementation(libs.navigation.compose)
// kotlin serialization
implementation(libs.kotlin.serializable)
}
// build.gradle (project)
plugins {
....
....
alias(libs.plugins.kotlin.serializable.pulgin) apply false
}
As you can see above , we added two libraries, one is navigation-compose
and another is kotlin-serialization
that is responsible to create…