Używanie listy materiałów

Lista materiałów do Compose (BOM) umożliwia zarządzanie wszystkimi wersjami biblioteki Compose przez określenie tylko wersji BOM. Sam BOM zawiera linki do stabilnych wersji interfejsu z różnych bibliotek Compose, aby dobrze ze sobą współdziałały. Korzystając z pliku BOM w aplikacji, nie musisz dodawać żadnej wersji do zależności biblioteki Compose. Gdy zaktualizujesz wersję pliku BOM, wszystkie używane przez Ciebie biblioteki zostaną automatycznie zaktualizowane do ich nowych wersji.

Kotlin

dependencies {
    // Specify the Compose BOM with a version definition
    val composeBom = platform("androidx.compose:compose-bom:2024.09.03")
    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")
}

Groovy

dependencies {
    // Specify the Compose BOM with a version definition
    Dependency composeBom = platform('androidx.compose:compose-bom:2024.09.03')
    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'
}

Aby dowiedzieć się, które wersje biblioteki tworzenia wiadomości są zmapowane na konkretną wersję BOM, zapoznaj się z mapowaniem wersji BOM na bibliotekę.

Dlaczego biblioteka skompilowanego Compose nie jest uwzględniona w pliku BOM?

Rozszerzenie kompilatora Kotlina do Compose (androidx.compose.compiler) nie jest powiązane z wersjami biblioteki Compose. Jest ona zamiast tego powiązana z wersjami wtyczki kompilatora Kotlin i publikowana w odrębnych odstępach czasowych od reszty Compose.

Od wersji Kotlin 2.0 kompilator aplikacji Compose jest zarządzany równolegle z narzędziem Kotlin korzysta z tej samej wersji co kompilator Kotlin. Zapoznaj się z artykułem na temat wtyczki do Gradle kompilatora Compose w języku angielskim szczegóły konfiguracji.

Przed wersją Kotlin 2.0 musisz użyć wersji zgodnej z Twoją wersją Kotlina. Wersję Kotlina, która jest mapowana na wersji wtyczki pod adresem Tworzenie mapy zgodności z Kotlin i instrukcja skonfiguruj go w kompilatorze tworzenia wiadomości.

Jak użyć innej wersji biblioteki niż ta wskazana w pliku BOM?

W sekcji zależności build.gradle zachowaj import BOM. platformy. Podczas importowania zależności biblioteki określ wersję zastępującą. Na potrzeby Oto jak zadeklarować jeśli chcesz użyć nowszej wersji biblioteki animacji, nie musisz bez względu na to, która wersja jest wskazana w BOM:

Kotlin

dependencies {
    // Specify the Compose BOM with a version definition
    val composeBom = platform("androidx.compose:compose-bom:2024.09.03")
    implementation(composeBom)

    // Override the BOM version when needed
    implementation("androidx.compose.animation:animation:1.8.0-alpha03")

    // ..
}

Odlotowe

dependencies {
    // Specify the Compose BOM with a version definition
    Dependency composeBom = platform("androidx.compose:compose-bom:2024.09.03")
    implementation composeBom

    // Override the BOM version when needed
    implementation 'androidx.compose.animation:animation:1.8.0-alpha03'

    // ..
}

Czy plik BOM automatycznie dodaje do mojej aplikacji wszystkie biblioteki Compose?

Nie. Aby dodać do aplikacji biblioteki Compose i z nich korzystać, musisz zadeklarować każdą z nich jako osobną linię zależności w pliku Gradle modułu (na poziomie aplikacji) (zwykle app/build.gradle).

Dzięki BOM wersje wszystkich bibliotek tworzenia wiadomości w Twojej aplikacji zgodne, ale BOM nie dodaje tych bibliotek tworzenia do aplikacji.

W przyszłości wersje bibliotek Compose będą tworzone niezależnie, co oznacza, że numery wersji będą zwiększane we własnym tempie. Co nowego stabilne wersje każdej z tych bibliotek są testowane razem. Jednak znalezienie najnowszych stabilnych wersji każdej z bibliotek może być trudne, a BOM pomaga aby automatycznie używać najnowszych wersji.

Czy muszę używać pliku BOM?

Nie. Nadal możesz dodawać każdą wersję zależności ręcznie. Możemy jednak zalecamy korzystanie z BOM, ponieważ ułatwi to korzystanie ze wszystkich najnowszych wersji stabilnej.

Czy plik BOM działa z katalogami wersji?

Tak. Możesz uwzględnić sam BOM w katalogu wersji i pominąć drugi Tworzenie wersji biblioteki:

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

Pamiętaj, aby zaimportować BOM do pliku build.gradle modułu:

Kotlin

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

    // import Compose dependencies as usual
}

Groovy

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

    // import Compose dependencies as usual
}

Co zrobić, jeśli chcę wypróbować wersje alfa lub beta bibliotek Compose?

Dostępne są 3 listy materiałów do tworzenia. Każdy plik BOM to bieżący widok najnowszych dostępnych wersji bibliotek Compose.

  • Stabilna – zawiera najnowsze stabilne wersje każdej biblioteki
  • Beta – zawiera najnowsze wersje beta, wersje kandydata (RC) i stabilne każdej biblioteki.
  • Alpha – zawiera najnowsze wersje alfa, beta, RC lub stabilne każdej biblioteki.

Wersje alfa i beta pliku BOM są określane przez dodanie -alpha-beta do nazwy artefaktu BOM. Wersja stabilna nie ma przyrostka.

Kotlin

dependencies {
    // Specify the Compose BOM with a version definition
    val composeBom = platform("androidx.compose:compose-bom-alpha:2024.09.03")
    //            or platform("androidx.compose:compose-bom-beta:2024.09.03")
    implementation(composeBom)
    // ..
}

Groovy

dependencies {
    // Specify the Compose BOM with a version definition
    Dependency composeBom = platform('androidx.compose:compose-bom-alpha:2024.09.03')
    //                   or platform('androidx.compose:compose-bom-beta:2024.09.03')
    implementation composeBom
    // ..
}

Jak zgłosić problem lub przesłać opinię na temat listy materiałów?

Problemy możesz zgłaszać za pomocą naszego narzędzia do śledzenia problemów.

.