Korzystanie z Jetpack Compose na Wear OS


Kod Compose i podgląd tarczy zegarka w Android Studio
Rysunek 1. Jetpack Compose na Wear OS

Compose na Wear OS jest podobny do Compose na urządzenia mobilne. Istnieją jednak pewne kluczowe różnice. Z tego przewodnika dowiesz się, jakie są podobieństwa i różnice między tymi usługami.

Compose na Wear OS jest częścią Android Jetpack i podobnie jak inne biblioteki Wear Jetpack, których używasz, pomaga szybciej pisać lepszy kod. To nasze zalecane podejście do tworzenia interfejsów użytkownika dla aplikacji na Wear OS.

Jeśli nie masz doświadczenia w korzystaniu z pakietu narzędzi Jetpack Compose, zapoznaj się ze ścieżką Compose. Wiele zasad programowania dotyczących Compose na urządzenia mobilne ma zastosowanie do Compose na Wear OS. Więcej informacji o ogólnych zaletach deklaratywnej platformy interfejsu znajdziesz w artykule Dlaczego Compose. Aby dowiedzieć się więcej o Compose na Wear OS, zapoznaj się ze ścieżką Compose na Wear OS i repozytorium przykładów na Wear OS na GitHubie.

Material Design w Jetpack Compose na Wear OS

Jetpack Compose na Wear OS oferuje implementację Material 3, co pomaga projektować bardziej angażujące aplikacje. Komponenty Material Design na Wear OS są oparte na Material Theming na Wear. Ten motyw to systematyczny sposób dostosowywania Material Design i lepszego odzwierciedlania marki produktu.

Zgodność

Compose na Wear OS działa na zegarkach obsługujących Wear OS 3.0 (poziom interfejsu API 30) i zegarkach z Wear OS 2.0 (poziom interfejsu API 25 lub wyższy). Korzystanie z wersji 1.5 Compose na Wear OS wymaga używania bibliotek androidx.compose w wersji 1.8 i Kotlin 1.9.0. Aby sprawdzić zgodność Compose, możesz użyć mapowania BOM i mapy zgodności Compose z Kotlinem.

Platformy

Compose na Wear OS ułatwia tworzenie aplikacji na Wear OS. Więcej informacji znajdziesz w artykule Aplikacje. Używaj naszych wbudowanych komponentów, aby tworzyć interfejsy zgodne z wytycznymi Wear OS. Więcej informacji o komponentach znajdziesz we wskazówkach dotyczących projektowania.

Konfiguruję aplikację

Korzystanie z Jetpack Compose na Wear OS jest podobne do korzystania z Jetpack Compose w przypadku innych projektów aplikacji na Androida. Główna różnica polega na tym, że Jetpack Compose na Wear dodaje biblioteki przeznaczone na Wear, które ułatwiają tworzenie interfejsów użytkownika dostosowanych do zegarków. W niektórych przypadkach te komponenty mają takie same nazwy jak ich odpowiedniki, które nie są przeznaczone na urządzenia do noszenia, np. androidx.wear.compose.material3.Button i androidx.compose.material3.Button.

Tworzenie nowej aplikacji w Android Studio

Aby utworzyć nowy projekt zawierający Jetpack Compose, wykonaj te czynności:

  1. Jeśli jesteś w oknie Welcome to Android Studio (Witamy w Android Studio), kliknij Start a new Android Studio project (Rozpocznij nowy projekt w Android Studio). Jeśli masz już otwarty projekt Android Studio, na pasku menu kliknij Plik > Nowy > Importuj przykład.
  2. Wyszukaj Compose for Wear i wybierz Compose for Wear OS Starter.
  3. W oknie Skonfiguruj projekt wykonaj te czynności:
    1. Ustaw Nazwę aplikacji.
    2. Wybierz lokalizację projektu dla próbki.
  4. Kliknij Zakończ.
  5. Sprawdź, czy plik build.gradle projektu jest prawidłowo skonfigurowany, jak opisano w sekcji Pliki właściwości Gradle.

Możesz już zacząć tworzyć aplikację za pomocą Compose na Wear OS.

Zależności pakietu narzędzi Jetpack Compose

Aby używać Jetpack Compose z Wear OS, musisz uwzględnić zależności zestawu narzędzi Jetpack Compose w pliku build.gradle aplikacji. Większość zmian zależności związanych z Wear OS znajduje się w górnych warstwach architektury, które na poniższym obrazie są otoczone czerwonym prostokątem.

4 prostokąty. Od góry do dołu prostokąty zawierają „Material”, „Foundation”, „UI” i „Runtime”. Dwa górne prostokąty są otoczone czerwonym polem.
Rysunek 2. Zmiany zależności w Wear OS w architekturze Compose

Oznacza to, że wiele zależności, których już używasz z Jetpack Compose, nie zmienia się, gdy kierujesz aplikację na Wear OS. Na przykład interfejs, środowisko wykonawcze, kompilator i zależności animacji pozostają takie same.

Wear OS ma jednak własne wersje bibliotek material i material3, foundation i navigation, więc sprawdź, czy używasz właściwych bibliotek.

W miarę możliwości używaj interfejsów API w wersji WearComposeMaterial. Chociaż technicznie możliwe jest używanie mobilnej wersji Compose Material, nie jest ona zoptymalizowana pod kątem unikalnych wymagań Wear OS. Ponadto łączenie Compose Material z Compose Material na Wear OS może spowodować nieoczekiwane zachowanie. Na przykład każda biblioteka ma własną klasę MaterialTheme, więc jeśli używane są obie wersje, kolory, typografia lub kształty mogą być niespójne.

W tabeli poniżej znajdziesz różnice między zależnościami na Wear OS i urządzeniach mobilnych:

Zależność Wear OS
(androidx.wear.*)
Porównanie Zależność mobilna
(androidx.*)
androidx.wear.compose:compose-material3 zamiast androidx.compose.material:material3
androidx.wear.compose:compose-navigation zamiast androidx.navigation:navigation-compose
androidx.wear.compose:compose-foundation in addition to androidx.compose.foundation:foundation

Ten fragment kodu pokazuje przykładowy plik build.gradle, który zawiera te zależności:

Kotlin

dependencies {

    val composeBom = platform("androidx.compose:compose-bom:2026.09.00")

    // General compose dependencies
    implementation(composeBom)
    implementation("androidx.activity:activity-compose:1.13.0")
    implementation("androidx.compose.ui:ui-tooling-preview:1.12.1")
    // Other compose dependencies

    // Compose for Wear OS dependencies
    implementation("androidx.wear.compose:compose-material3:1.7.1")

    // Foundation is additive, so you can use the mobile version in your Wear OS app.
    implementation("androidx.wear.compose:compose-foundation:1.7.1")

    // Wear OS preview annotations
    implementation("androidx.wear.compose:compose-ui-tooling:1.7.1")

    // If you are using Compose Navigation, use the Wear OS version (NOT THE MOBILE VERSION).
    // Uncomment the line below and update the version number.
    // implementation("androidx.wear.compose:compose-navigation:1.7.1")

    // Testing
    testImplementation("junit:junit:4.13.2")
    androidTestImplementation("androidx.test.ext:junit:1.1.3")
    androidTestImplementation("androidx.test.espresso:espresso-core:3.4.0")
    androidTestImplementation("androidx.compose.ui:ui-test-junit4:1.0.3")
    debugImplementation("androidx.compose.ui:ui-tooling:1.4.1")

}

Prześlij opinię

Wypróbuj Compose na Wear OS i użyj narzędzia Issue Tracker, aby przekazać sugestie i opinie.

Dołącz do kanału #compose-wear na Kotlin Slack, aby nawiązać kontakt ze społecznością deweloperów i podzielić się swoimi wrażeniami.