استفاده از لایحه مواد

Compose Bill of Materials (BOM) به شما امکان می دهد تمام نسخه های کتابخانه Compose خود را با مشخص کردن نسخه BOM مدیریت کنید. خود BOM دارای پیوندهایی به نسخه های پایدار کتابخانه های مختلف Compose است، به گونه ای که به خوبی با هم کار می کنند. هنگام استفاده از BOM در برنامه خود، نیازی به افزودن هیچ نسخه ای به خود وابستگی های کتابخانه Compose ندارید. هنگامی که نسخه BOM را به روز می کنید، تمام کتابخانه هایی که استفاده می کنید به طور خودکار به نسخه های جدید خود به روز می شوند.

کاتلین

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'
}

برای اینکه بدانید کدام نسخه های کتابخانه Compose به یک نسخه BOM خاص نگاشت شده اند، نگاشت نسخه BOM به کتابخانه را بررسی کنید.

چرا کتابخانه Compose Compiler در BOM گنجانده نشده است؟

پسوند کامپایلر Compose Kotlin (androidx.compose.compiler) به نسخه های کتابخانه Compose پیوند داده نشده است. در عوض، به نسخه‌های افزونه کامپایلر Kotlin پیوند داده شده و در آهنگی جداگانه از بقیه Compose منتشر می‌شود، بنابراین مطمئن شوید که از نسخه‌ای استفاده کنید که با نسخه Kotlin شما سازگار باشد. می‌توانید نسخه Kotlin را که به هر نسخه از افزونه نگاشت می‌شود، در Compose to Kotlin Compatibility Map پیدا کنید.

چگونه از نسخه کتابخانه ای متفاوت از آنچه در BOM تعیین شده است استفاده کنم؟

در بخش build.gradle dependencies، واردات پلت فرم BOM را حفظ کنید. در واردات وابستگی کتابخانه، نسخه مورد نظر را مشخص کنید. به عنوان مثال، اگر می‌خواهید از نسخه جدیدتری از کتابخانه انیمیشن استفاده کنید، صرف نظر از اینکه چه نسخه‌ای در BOM تعیین شده است، در اینجا نحوه اعلام وابستگی آورده شده است:

کاتلین

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 به طور خودکار همه کتابخانه های Compose را به برنامه من اضافه می کند؟

خیر. برای افزودن و استفاده از کتابخانه های Compose در برنامه خود، باید هر کتابخانه را به عنوان یک خط وابستگی جداگانه در فایل Gradle ماژول (سطح برنامه) خود (معمولا app/build.gradle) اعلام کنید.

استفاده از BOM تضمین می‌کند که نسخه‌های هر کتابخانه Compose در برنامه شما سازگار هستند، اما BOM در واقع آن کتابخانه‌های Compose را به برنامه شما اضافه نمی‌کند.

در آینده، کتابخانه های Compose به طور مستقل نسخه می شوند، به این معنی که تعداد نسخه ها با سرعت خاص خود افزایش می یابد. آخرین نسخه های پایدار هر کتابخانه آزمایش شده و تضمین شده است که به خوبی با هم کار می کنند. با این حال، یافتن آخرین نسخه های پایدار هر کتابخانه می تواند دشوار باشد، و BOM به شما کمک می کند تا به طور خودکار از آخرین نسخه ها استفاده کنید.

آیا من مجبور به استفاده از BOM هستم؟

خیر. همچنان می توانید انتخاب کنید که هر نسخه وابستگی را به صورت دستی اضافه کنید. با این حال، توصیه می کنیم از BOM استفاده کنید زیرا استفاده همزمان از آخرین نسخه های پایدار را آسان تر می کند.

آیا BOM با کاتالوگ های نسخه کار می کند؟

بله. می‌توانید خود BOM را در فهرست نسخه قرار دهید و سایر نسخه‌های کتابخانه Compose را حذف کنید:

[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 ماژول خود وارد کنید:

کاتلین

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 گزارش کنم؟

می توانید مشکلات را در ردیاب مشکل ما ثبت کنید.

{% کلمه به کلمه %} {% آخر کلمه %} {% کلمه به کلمه %} {% آخر کلمه %}