Để bắt đầu sử dụng Navigation 3, hãy thêm thư viện này vào dự án cùng với mọi thư viện hỗ trợ. Hãy sử dụng bảng dưới đây để quyết định nên thêm thư viện nào.
Tệp phần mềm
Tên |
Chức năng |
Cấu phần phần mềm |
---|---|---|
Thư viện thời gian chạy Navigation 3 |
Core Navigation 3 API. Bao gồm |
androidx.navigation3:navigation3-runtime |
Thư viện giao diện người dùng Navigation 3 |
Cung cấp các lớp để hiển thị nội dung, bao gồm |
androidx.navigation3:navigation3-ui |
Vòng đời của ViewModel cho Navigation 3 |
Cho phép ViewModel được giới hạn phạm vi trong các mục ở ngăn xếp lui. |
androidx.lifecycle:lifecycle-viewmodel-navigation3 |
Bố cục thích ứng Material 3 cho Navigation 3 |
Cung cấp bố cục thích ứng (SceneStrategies, Scenes và định nghĩa siêu dữ liệu) để sử dụng với NavDisplay. |
androidx.compose.material3.adaptive:adaptive-navigation3 Có trong các bản dựng chụp nhanh |
Cho phép chuyển đổi các khoá điều hướng thành dữ liệu nối tiếp. |
Trình bổ trợ: org.jetbrains.kotlin.plugin.serialization Thư viện: org.jetbrains.kotlinx:kotlinx-serialization-core |
Thiết lập dự án
Để thêm thư viện Điều hướng 3 vào dự án hiện có, hãy thêm đoạn mã sau vào libs.versions.toml
:
[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"}
Ngoài ra, hãy cập nhật SDK biên dịch lên phiên bản 36 trở lên:
[versions]
compileSdk = "36"
Thêm đoạn mã sau vào tệp bản dựng app 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)
}