חשבון הכתיבה של חומר לימוד (BOM) מאפשר לך לנהל את כל ספריית הכתיבה שלך גרסאות באמצעות ציון רק את גרסת ה-BOM. ה-BOM עצמו כולל קישורים לגרסאות היציבות של ספריות פיתוח שונות, כך שהן יפעלו היטב יחד. מתי באמצעות ה-BOM באפליקציה, אין צורך להוסיף כל גרסה וגרסה ליחסי התלות של ספריית Compose. כשמעדכנים את גרסת BOM, כל הספריות שבהן אתה משתמש מתעדכנות באופן אוטומטי לגרסאות החדשות שלהן.
Kotlin
dependencies { // Specify the Compose BOM with a version definition val composeBom = platform("androidx.compose:compose-bom:2024.06.00") implementation(composeBom) testImplementation(composeBom) androidTestImplementation(composeBom) // Specify Compose library dependencies without a version definition implementation("androidx.compose.foundation:foundation") // .. testImplementation("androidx.compose.ui:ui-test-junit4") // .. androidTestImplementation("androidx.compose.ui:ui-test") }
מגניב
dependencies { // Specify the Compose BOM with a version definition Dependency composeBom = platform('androidx.compose:compose-bom:2024.06.00') implementation composeBom testImplementation composeBom androidTestImplementation composeBom // Specify Compose library dependencies without a version definition implementation 'androidx.compose.foundation:foundation' // .. testImplementation 'androidx.compose.ui:ui-test-junit4' // .. androidTestImplementation 'androidx.compose.ui:ui-test' }
כדי לבדוק אילו גרסאות של ספריית פיתוח נייטיב ממופות לגרסת BOM ספציפית: כדאי לעיין במיפוי של BOM לגרסאות של ספריות.
למה הספרייה 'מהדר (Complier)' לא נכללת ב-BOM?
תוסף המהדר של Compose Kotlin (androidx.compose.compiler) אינו מקושר לגרסאות של ספריית הכתיבה. במקום זאת, הוא מקושר לגרסאות של Kotlin של כלי ה הידור (compiler) שהושקו בקצב נפרד משאר תהליך הכתיבה, עליך להקפיד להשתמש בגרסה שתואמת לגרסת Kotlin שלך. שלך את גרסת Kotlin עם מיפוי לכל גרסה של הפלאגין בכתובת Compose למפת התאימות של Kotlin.
איך משתמשים בגרסת ספרייה שונה מזו שצוינה ב-BOM?
בקטע של יחסי התלות build.gradle
, שומרים את הייבוא של ה-BOM
הפלטפורמה. בייבוא התלות של הספרייה, מציינים את הגרסה הרצויה. עבור
לדוגמה, כך מצהירים
אם רוצים להשתמש בגרסה חדשה יותר של ספריית האנימציה,
ללא קשר לגרסה שצוינה ב-BOM:
Kotlin
dependencies { // Specify the Compose BOM with a version definition val composeBom = platform("androidx.compose:compose-bom:2024.06.00") implementation(composeBom) // Override the BOM version when needed implementation("androidx.compose.animation:animation:1.7.0-beta05") // .. }
מגניב
dependencies { // Specify the Compose BOM with a version definition Dependency composeBom = platform("androidx.compose:compose-bom:2024.06.00") implementation composeBom // Override the BOM version when needed implementation 'androidx.compose.animation:animation:1.7.0-beta05' // .. }
האם ה-BOM מוסיף באופן אוטומטי את כל ספריות הכתיבה לאפליקציה שלי?
לא. כדי להוסיף ספריות של פיתוח נייטיב ולהשתמש בהן באפליקציה, צריך להצהיר על כל אחת מהן כשורת תלות נפרדת בקובץ Gradle של המודול (ברמת האפליקציה) (בדרך כלל app/build.gradle).
השימוש ב-BOM מבטיח שהגרסאות של כל ספריות הכתיבה באפליקציה אבל ה-BOM לא מוסיף בפועל את ספריות ה-Compose. אפליקציה.
למה ה-BOM הוא הדרך המומלצת לניהול הגרסאות של ספריית הכתיבה?
בהמשך, גרסאות של ספריות כתיבה יהיו נפרדות. כלומר, מספרי הגרסאות יתחילו לגדול בקצב שלהם. העדכניים ביותר גרסאות יציבות של כל ספרייה נבדקות ומובטח שהן יפעלו כמו שצריך את כל החלקים. עם זאת, אפשר למצוא את הגרסאות היציבות והעדכניות ביותר של כל ספרייה קשה, וה-BOM עוזר לכם להשתמש בגרסאות האחרונות האלה באופן אוטומטי.
האם אני מאלץ שימוש ב-BOM?
לא. עדיין אפשר להוסיף כל גרסה של תלות באופן ידני. אבל אנחנו מומלץ להשתמש ב-BOM כי זה יקל על השימוש בכל בו-זמנית.
האם ה-BOM פועל עם קטלוגים של גרסאות?
כן. אפשר לכלול את ה-BOM עצמו בקטלוג הגרסאות, ולהשמיט את הפריט השני יצירת גרסאות של ספריות:
[libraries]
androidx-compose-bom = { group = "androidx.compose", name = "compose-bom", version.ref = "androidxComposeBom" }
androidx-compose-foundation = { group = "androidx.compose.foundation", name = "foundation" }
לא לשכוח לייבא את ה-BOM אל build.gradle
של המודול:
Kotlin
dependencies { val composeBom = platform(libs.androidx.compose.bom) implementation(composeBom) androidTestImplementation(composeBom) // import Compose dependencies as usual }
מגניב
dependencies { Dependency composeBom = platform(libs.androidx.compose.bom) implementation composeBom androidTestImplementation(composeBom) // import Compose dependencies as usual }
איך אפשר לדווח על בעיה או להציע משוב לגבי ה-BOM?
תוכלו לדווח על בעיות באתר המעקב אחר בעיות.
מומלץ עבורך
- הערה: טקסט הקישור מוצג כאשר JavaScript מושבת
- Material Design 3 ב-Compose
- פריסת האילוצים במהלך הכתיבה
- משאבים בכתיבה