شروع به کار

برای شروع کار با Navigation 3، کتابخانه را به همراه کتابخانه‌های پشتیبان به پروژه خود اضافه کنید. از جدول زیر برای تصمیم‌گیری در مورد کتابخانه‌های مورد نیاز استفاده کنید.

مصنوعات

نام

چه کاری انجام می‌دهد؟

مصنوع

کتابخانه زمان اجرای ناوبری ۳

رابط برنامه‌نویسی کاربردی هسته ناوبری ۳. شامل NavEntry, EntryProvider و DSL مرتبط.

androidx.navigation3:navigation3-زمان اجرا

کتابخانه رابط کاربری ناوبری ۳

کلاس‌هایی برای نمایش محتوا، از جمله NavDisplay و Scene ، ارائه می‌دهد.

androidx.navigation3:navigation3-ui

چرخه حیات ViewModel برای ناوبری ۳

به ViewModelها اجازه می‌دهد تا به ورودی‌های موجود در back stack محدود شوند.

androidx.lifecycle:lifecycle-viewmodel-navigation3

طرح‌بندی‌های تطبیقی ​​متریال ۳ برای ناوبری ۳

طرح‌بندی‌های تطبیقی ​​(SceneStrategies، Scenes و تعاریف فراداده) را برای استفاده با NavDisplay ارائه می‌دهد.

androidx.compose.material3.adaptive:adaptive-navigation3

سریال‌سازی KotlinX

اجازه می‌دهد کلیدهای ناوبری سریال‌سازی شوند.

افزونه: org.jetbrains.kotlin.plugin.serialization

کتابخانه:

org.jetbrains.kotlinx:هسته سریال‌سازی kotlinx

راه‌اندازی پروژه

برای افزودن کتابخانه Navigation 3 به پروژه موجود خود، کد زیر را به libs.versions.toml اضافه کنید:

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

[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"}

همچنین، SDK کامپایل خود را به ۳۶ یا بالاتر به‌روزرسانی کنید:

[versions]
compileSdk = "36"

کد زیر را به فایل ساخت برنامه خود 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)
}