البدء

للبدء في استخدام Navigation 3، أضِف المكتبة إلى مشروعك مع أي مكتبات متوافقة. استخدِم الجدول أدناه لتحديد المكتبات التي تريد إضافتها.

العناصر

الاسم

وظيفة هذا الإجراء

المنتج

مكتبة وقت التشغيل الخاصة بمكوّن Navigation 3

Core Navigation 3 API تتضمّن NavEntry, EntryProvider وDSL المرتبط بها.

androidx.navigation3:navigation3-runtime

مكتبة واجهة المستخدم Navigation 3

توفّر هذه الحزمة فئات لعرض المحتوى، بما في ذلك NavDisplay وScene.

androidx.navigation3:navigation3-ui

مراحل نشاط ViewModel في الإصدار 3 من Navigation

يسمح بتحديد نطاق ViewModels ليقتصر على الإدخالات في سجلّ الرجوع.

androidx.lifecycle:lifecycle-viewmodel-navigation3

تنسيقات Material 3 التكيّفية في Navigation 3

توفّر هذه السمة تنسيقات متجاوبة (SceneStrategies وScenes وتعريفات البيانات الوصفية) لاستخدامها مع NavDisplay.

androidx.compose.material3.adaptive:adaptive-navigation3

متاح في إصدارات اللقطة

KotlinX Serialization

يسمح بتسلسل مفاتيح التنقّل.

المكوّن الإضافي: org.jetbrains.kotlin.plugin.serialization

المكتبة:

org.jetbrains.kotlinx:kotlinx-serialization-core

إعداد المشروع

لإضافة مكتبة Navigation 3 إلى مشروعك الحالي، أضِف ما يلي إلى 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"}

عليك أيضًا تحديث حزمة تطوير البرامج (SDK) الخاصة بالتجميع إلى الإصدار 36 أو إصدار أحدث:

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