شروع به کار

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

مصنوعات

نام

کاری که انجام می دهد

مصنوع

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

Core Navigation 3 API. شامل NavEntry, EntryProvider و DSL مرتبط است.

androidx.navigation3:navigation3-runtime

کتابخانه UI Navigation 3

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

androidx.navigation3:navigation3-ui

ViewModel Lifecycle for Navigation 3

به ViewModels اجازه می دهد تا به ورودی های پشته باز شود.

androidx.lifecycle:lifecycle-viewmodel-navigation3

در ساخت های اسنپ شات موجود است

طرح‌بندی تطبیقی ​​متریال 3 برای Navigation 3

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

androidx.compose.material3.adaptive:adaptive-navigation3

در ساخت های اسنپ شات موجود است

سریال سازی KotlinX

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

پلاگین: org.jetbrains.kotlin.plugin.serialization

کتابخانه ها:

org.jetbrains.kotlinx:kotlinx-serialization-core

org.jetbrains.kotlinx:kotlinx-serialization-json

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

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

[versions]
nav3Core = "1.0.0-alpha01"
nav3Material = "1.0.0-SNAPSHOT"
nav3Lifecycle = "1.0.0-alpha01"
kotlinSerialization = "2.1.21"
kotlinxSerializationCore = "1.8.1"

[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-material3-navigation3 = { group = "androidx.compose.material3.adaptive", name = "adaptive-navigation3", version.ref = "nav3Material" }
androidx-lifecycle-viewmodel-navigation3 = { module = "androidx.lifecycle:lifecycle-viewmodel-navigation3", version.ref = "nav3Lifecycle" }
kotlinx-serialization-core = { module = "org.jetbrains.kotlinx:kotlinx-serialization-core", version.ref = "kotlinxSerializationCore" }
kotlinx-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "kotlinxSerializationCore" }

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

موارد زیر را به فایل ساخت برنامه 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)
    implementation(libs.androidx.lifecycle.viewmodel.navigation3)
    implementation(libs.androidx.material3.navigation3)
    implementation(libs.kotlinx.serialization.core)
    implementation(libs.kotlinx.serialization.json)
}