navigation3

  
Navigation 3 هي مكتبة تنقّل جديدة مصمّمة للعمل مع ميزة "الإنشاء".
آخر تعديل الإصدار الثابت إصدار محتمل الإصدار التجريبي الإصدار الأولي
18 حزيران (يونيو) 2025 - - - 1.0.0-alpha04

تحديد التبعيات

لإضافة تبعية على navigation3، يجب إضافة مستودع Google Maven إلى مشروعك. اطّلِع على مستودع Maven من Google لمزيد من المعلومات.

أضِف التبعيات للعناصر التي تحتاج إليها في ملف build.gradle ل تطبيقك أو وحدتك:

Groovy

dependencies {
    implementation "androidx.navigation3.navigation3-runtime:1.0.0-alpha04"
    implementation "androidx.navigation3.navigation3-ui:1.0.0-alpha04"
}

Kotlin

dependencies {
    implementation("androidx.navigation3.navigation3-runtime:1.0.0-alpha04")
    implementation("androidx.navigation3.navigation3-ui:1.0.0-alpha04")
}

لمزيد من المعلومات عن العناصر الاعتمادية، اطّلِع على مقالة إضافة عناصر الاعتماد الخاصة بالإصدار.

الملاحظات

تساعدنا ملاحظاتك في تحسين Jetpack. يُرجى إعلامنا إذا واجهت مشاكل جديدة أو كان لديك أفكار لتحسين هذه المكتبة. يُرجى الاطّلاع على المشاكل الحالية في هذه المكتبة قبل إنشاء مكتبة جديدة. يمكنك إضافة صوتك إلى مشكلة حالية من خلال النقر على زر النجمة.

إنشاء مشكلة جديدة

اطّلِع على مستندات أداة تتبُّع المشاكل لمزيد من المعلومات.

لا تتوفّر ملاحظات حول الإصدار لهذا العنصر.

الإصدار 1.0

الإصدار 1.0.0-alpha04

18 حزيران (يونيو) 2025

تم إصدار androidx.navigation3:navigation3-*:1.0.0-alpha04. يتضمّن الإصدار 1.0.0-alpha04 عمليات الربط هذه.

تغييرات واجهة برمجة التطبيقات

  • أصبحت "NavEntry.content" خاصة الآن. لاستدعاء محتوى NavEntry، يمكنك استدعاء واجهة برمجة التطبيقات الجديدة NavEntry.Content() التي لم تعُد تتطلّب مَعلمة key لاستدعائها. (Icd0fd، b/420991203)
  • أصبح NavEntry.key الآن حقلًا خاصًا. يجب تحديد NavEntry وحالاته ذات الصلة من خلال الحقل contentKey الجديد الذي يتم إنشاؤه من دالة contentKeyFactory الجديدة، ويتم ضبطه تلقائيًا على تجزئة قابلة للحفظ يتم إنشاؤها من NavEntry.key (I81a6c وb/422001357 وb/420991203 I2d7d4 وb/420991203 وb/422841812).

تغييرات في التبعيات

  • يعتمد Navigation3 الآن على العنصر androidx.navigationevent.compose الجديد.

الإصدار 1.0.0-alpha03

4 حزيران (يونيو) 2025

تم إصدار androidx.navigation3:navigation3-*:1.0.0-alpha03. يتضمّن الإصدار 1.0.0-alpha03 عمليات الربط هذه.

إصلاح الأخطاء

  • لن تُمحو حالات decorator لعنصر backStacks الذي تم تبديله واستبداله بمثيل backStack آخر.Navigation3 (I28a42، b/415076044)

الإصدار 1.0.0-alpha02

23 أيار (مايو) 2025

تم إصدار androidx.navigation3:navigation3-*:1.0.0-alpha02. يحتوي الإصدار 1.0.0-alpha02 على عمليات الربط هذه.

إصلاح الأخطاء

  • تم إصلاح مشكلة في SavedStateNavEntryDecorator أدّت إلى حدوث تعارضات لفئات بيانات مختلفة ذات قيم السمات نفسها. (b/418070648، Iff4775)
  • تم إصلاح مشكلة عدم توفّر فئة كانت تؤدي إلى حدوث أعطال عند التشغيل بدون الإفصاح عن تبعيات صريحة. (b/419049149، I4b4ed)

الإصدار 1.0.0-alpha01

20 أيار (مايو) 2025

تم إصدار androidx.navigation3:navigation3-*:1.0.0-alpha01. يحتوي الإصدار 1.0.0-alpha01 على عمليات الربط هذه.

الميزات الجديدة

Navigation3 هي مكتبة تنقّل جديدة تم إنشاؤها خصيصًا للتعامل مع التنقّل داخل التطبيق باستخدام Jetpack Compose. يقدّم العنصر androidx.navigation3.runtime الوحدات الأساسية، في حين يقدّم العنصر androidx.navigation3.ui طبقة واجهة المستخدم من خلال واجهة برمجة التطبيقات NavDisplay. يمكن للمطوّرين تقديم حالتهم مباشرةً إلى الدالة القابلة للتجميع NavDisplay التي تغيّر المحتوى استنادًا إلى التغييرات في حالة المطوّر.

@Serialiable object Home : NavKey
@Serialiable object Chat : NavKey

val backStack = rememberNavBackStack(Home)

NavDisplay(backStack, entryProvider = entryProvider {
  entry<Home> {
    Column {
      Text(Home)
      Button(onClick = { backStack.add(Chat) } ) {
        Text(Go to Chat)
      } 
    }
  }
  entry<Chat> { /* My Composable Content */ }
})

لمزيد من المعلومات، يمكنك الاطّلاع على دليل Navigation3.