Sử dụng Bảng kê khai thành phần

Bảng kê khai thành phần (BOM) của Compose cho phép bạn quản lý mọi phiên bản thư viện Compose mà chỉ cần chỉ định phiên bản của Bảng kê khai thành phần. Bảng kê khai thành phần vốn đã có các đường liên kết đến các phiên bản ổn định của các thư viện Compose, theo cách tương thích với nhau. Khi sử dụng Bảng kê khai thành phần trong ứng dụng, bạn không cần thêm phiên bản nào vào chính các phần phụ thuộc của thư viện Compose. Khi bạn cập nhật phiên bản Bảng kê khai thành phần, tất cả các thư viện mà bạn đang sử dụng sẽ tự động được cập nhật lên phiên bản mới.

Để tìm hiểu xem những phiên bản thư viện Compose nào được ánh xạ đến một phiên bản cụ thể của Bảng kê khai thành phần, hãy xem bài viết Ánh xạ Bảng kê khai thành phần với phiên bản thư viện.

Tại sao thư viện của Trình biên dịch trong Compose không thuộc Bảng kê khai thành phần?

Tiện ích trình biên dịch Kotlin của Compose (androidx.compose.compiler) không được liên kết với các phiên bản thư viện Compose. Thay vào đó, tiện ích này được liên kết với các phiên bản của trình bổ trợ Kotlin cho trình biên dịch và được phát hành theo tần suất riêng biệt so với các thành phần còn lại của Compose. Vì vậy, hãy nhớ sử dụng một phiên bản tương thích với phiên bản Kotlin của bạn. Bạn có thể tìm thấy phiên bản Kotlin ánh xạ đến từng phiên bản trình bổ trợ tại Bản đồ về khả năng tương thích khi chuyển từ Compose sang Kotlin.

Làm thế nào để sử dụng một phiên bản thư viện khác với phiên bản được chỉ định trong Bảng kê khai thành phần?

Trong mục phần phụ thuộc build.gradle, hãy tiếp tục nhập nền tảng Bảng kê khai thành phần. Khi nhập phần phụ thuộc của thư viện, hãy chỉ định phiên bản mong muốn. Ví dụ: dưới đây là cách khai báo các phần phụ thuộc nếu bạn muốn sử dụng phiên bản alpha của Material 3, bất kể phiên bản nào được chỉ định trong BOM:

dependencies {
    // Import the Compose BOM
    implementation platform('androidx.compose:compose-bom:2023.01.00')

    // Override Material Design 3 library version with a pre-release version
    implementation 'androidx.compose.material3:material3:1.1.0-alpha01'

    // Import other Compose libraries without version numbers
    // ..
    implementation 'androidx.compose.foundation:foundation'
}

Bảng kê khai thành phần có tự động thêm tất cả các thư viện Compose vào ứng dụng của tôi không?

Không. Để thực sự thêm và sử dụng thư viện Compose trong ứng dụng, bạn phải khai báo từng thư viện ở dạng một dòng phần phụ thuộc riêng trong tệp Gradle mô-đun (cấp ứng dụng) (thường là app/build.gradle).

Việc sử dụng Bảng kê khai thành phần sẽ đảm bảo rằng các phiên bản của mọi thư viện Compose trong ứng dụng của bạn đều tương thích, nhưng Bảng kê khai thành phần không thực sự thêm những thư viện Compose đó vào ứng dụng của bạn.

Về sau, các thư viện Compose sẽ được tạo phiên bản một cách độc lập, tức là số phiên bản sẽ bắt đầu tăng lên theo tiến độ riêng. Các bản phát hành ổn định mới nhất của mỗi thư viện sẽ được kiểm thử và đảm bảo hoạt động hiệu quả với nhau. Tuy nhiên, không dễ gì tìm được phiên bản ổn định mới nhất của mỗi thư viện nên BOM sẽ tự động dùng những phiên bản mới nhất này cho bạn.

Tôi có nhất thiết phải sử dụng Bảng kê khai thành phần không?

Không. Bạn vẫn có thể chọn thêm thủ công từng phiên bản phần phụ thuộc. Tuy nhiên, bạn nên dùng BOM để có thể cùng lúc sử dụng mọi phiên bản ổn định mới nhất theo cách dễ dàng hơn.

Bảng kê khai thành phần có hoạt động với danh mục phiên bản không?

Có. Bạn có thể đưa Bảng kê khai thành phần vào danh mục phiên bản và bỏ qua các phiên bản thư viện Compose khác:

[libraries]
androidx-compose-bom = { group = "androidx.compose", name = "compose-bom", version.ref = "androidxComposeBom" }
androidx-compose-foundation = { group = "androidx.compose.foundation", name = "foundation" }

Đừng quên nhập Bảng kê khai thành phần vào build.gradle của mô-đun:

dependencies {
    val composeBom = platform(libs.androidx.compose.bom)
    implementation(composeBom)
    androidTestImplementation(composeBom)

    // import Compose dependencies as usual
}

Làm thế nào để báo cáo vấn đề hoặc đưa ra ý kiến phản hồi về Bảng kê khai thành phần?

Bạn có thể gửi vấn đề qua công cụ theo dõi lỗi của chúng tôi.