Mulai

Untuk mulai menggunakan Navigation 3, tambahkan library ke project Anda beserta library pendukung lainnya. Gunakan tabel di bawah untuk memutuskan library mana yang akan ditambahkan.

Artefak

Nama

Fungsinya

Artefak

Library runtime Navigation 3

Core Navigation 3 API. Mencakup NavEntry, EntryProvider dan DSL terkait.

androidx.navigation3:navigation3-runtime

Library UI Navigation 3

Menyediakan class untuk menampilkan konten, termasuk NavDisplay dan Scene.

androidx.navigation3:navigation3-ui

Siklus Proses ViewModel untuk Navigation 3

Memungkinkan ViewModel di-scope ke entri dalam data sebelumnya.

androidx.lifecycle:lifecycle-viewmodel-navigation3

Tata letak adaptif Material 3 untuk Navigation 3

Menyediakan tata letak adaptif (SceneStrategies, Scenes, dan definisi metadata) untuk digunakan dengan NavDisplay.

androidx.compose.material3.adaptive:adaptive-navigation3

Tersedia di build snapshot

Serialisasi KotlinX

Memungkinkan kunci navigasi diserialisasi.

Plugin: org.jetbrains.kotlin.plugin.serialization

Library:

org.jetbrains.kotlinx:kotlinx-serialization-core

Penyiapan project

Untuk menambahkan library Navigation 3 ke project yang ada, tambahkan kode berikut ke libs.versions.toml Anda:

[versions]
nav3Core = "1.0.0-alpha11"
lifecycleViewmodelNav3 = "2.10.0-alpha05"
kotlinSerialization = "2.1.21"
kotlinxSerializationCore = "1.8.1"
material3AdaptiveNav3 = "1.3.0-alpha01"

[libraries]
# Core Navigation 3 libraries
androidx-navigation3-runtime = { module = "androidx.navigation3:navigation3-runtime", version.ref = "nav3Core" }
androidx-navigation3-ui = { module = "androidx.navigation3:navigation3-ui", version.ref = "nav3Core" }

# Optional add-on libraries
androidx-lifecycle-viewmodel-navigation3 = { module = "androidx.lifecycle:lifecycle-viewmodel-navigation3", version.ref = "lifecycleViewmodelNav3" }
kotlinx-serialization-core = { module = "org.jetbrains.kotlinx:kotlinx-serialization-core", version.ref = "kotlinxSerializationCore" }

androidx-material3-adaptive-navigation3 = { group = "androidx.compose.material3.adaptive", name = "adaptive-navigation3", version.ref = "material3AdaptiveNav3" }

[plugins]
# Optional plugins
jetbrains-kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlinSerialization"}

Selain itu, update SDK kompilasi Anda ke 36 atau yang lebih tinggi:

[versions]
compileSdk = "36"

Tambahkan kode berikut ke file build app Anda app/build.gradle.kts:

plugins {
    ...
    // Optional, provides the @Serialize annotation for autogeneration of Serializers.
    alias(libs.plugins.jetbrains.kotlin.serialization)
}

dependencies {
    ...
    implementation(libs.androidx.navigation3.ui)
    implementation(libs.androidx.navigation3.runtime)
    implementation(libs.androidx.lifecycle.viewmodel.navigation3)
    implementation(libs.androidx.material3.adaptive.navigation3)
    implementation(libs.kotlinx.serialization.core)
}