navigation3

  
‫Navigation 3 היא ספריית ניווט חדשה שנועדה לפעול עם Compose.
העדכון האחרון גרסה יציבה גרסה מועמדת להפצה גרסת בטא גרסת אלפא
‫2 ביולי 2025 - - - 1.0.0-alpha05

הצהרה על יחסי תלות

כדי להוסיף תלות ב-Navigation3, צריך להוסיף את מאגר Google Maven לפרויקט. מידע נוסף זמין במאמר בנושא מאגר Maven של Google.

מוסיפים את יחסי התלות של הארטיפקטים שאתם צריכים בקובץ build.gradle של האפליקציה או המודול:

מגניב

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

Kotlin

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

מידע נוסף על יחסי תלות זמין במאמר הוספת יחסי תלות ב-Build.

משוב

המשוב שלכם עוזר לנו לשפר את Jetpack. נשמח לשמוע מכם אם תגלו בעיות חדשות או אם יש לכם רעיונות לשיפור הספרייה הזו. לפני שיוצרים ספרייה חדשה, כדאי לעיין בבעיות הקיימות בספרייה הזו. כדי להוסיף את ההצבעה שלכם לבעיה קיימת, לוחצים על לחצן הכוכב.

יצירת בעיה חדשה

מידע נוסף זמין במאמרי העזרה בנושא כלי המעקב אחר בעיות.

אין הערות לגבי הגרסה של הארטיפקט הזה.

גירסה 1.0

גרסה 1.0.0-alpha05

‫2 ביולי 2025

androidx.navigation3:navigation3-*:1.0.0-alpha05 משוחרר. גרסה 1.0.0-alpha05 מכילה את הקומטים האלה.

שינויים בהתנהגות

  • הסטטוס של NavEntry מבוסס עכשיו באופן בלעדי על הרשימה הנוכחית של מעצבים שמועברת אל NavDisplay. המשמעות היא שאם יש כמה מחסניות של היסטוריית ניווט, צריך להחליף את ה-Decorators לאורך מחסניות היסטוריית הניווט כדי לשמור על המצב של NavEntry במחסנית היסטוריית הניווט. אחרת, המצבים ינוקו כאילו הרשומות הוצאו מהמחסנית (במקום החלפה). (I7a759, b/428033667)

גרסה 1.0.0-alpha04

‫18 ביוני 2025

androidx.navigation3:navigation3-*:1.0.0-alpha04 משוחרר. גרסה 1.0.0-alpha04 מכילה את הקומטים האלה.

שינויים ב-API

  • הסרטון NavEntry.content מוגדר עכשיו כפרטי. כדי להפעיל תוכן NavEntry, קוראים ל-API החדש NavEntry.Content() שלא דורש יותר פרמטר key להפעלה. (Icd0fd, ‏ b/420991203)
  • השדה NavEntry.key הוא עכשיו שדה פרטי. השדה החדש contentKey, שנוצר מ-lambda חדשה contentKeyFactory, צריך לזהות את NavEntry ואת המצבים הרלוונטיים שלו. ערך ברירת המחדל של השדה הוא גיבוב שניתן לשמירה שנוצר מ-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 מכילה את הקומטים האלה.

תיקוני באגים

  • Navigation3 כבר לא ינקה את מצבי ה-decorator של backStacks שהוחלפו והוחלפו במופע אחר של backStack. ‫(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 API. המפתחים יכולים לספק את המצב שלהם ישירות לפונקציה הניתנת להרכבה 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.