Korzystanie z Jetpack Compose na Wear OS


Compose for Wear OS działa podobnie jak 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ą Androida Jetpack i podobnie jak inne biblioteki Wear Jetpack, których używasz, pomaga szybciej pisać lepszy kod. Jest to zalecane przez nas podejście do tworzenia interfejsów użytkownika aplikacji na Wear OS.

Jeśli nie znasz narzędzi Jetpack Compose, zapoznaj się ze ścieżką Compose. Wiele zasad tworzenia aplikacji mobilnych w Compose ma zastosowanie do Compose na Wear OS. Więcej informacji o ogólnych zaletach deklaratywnego frameworka interfejsu znajdziesz w sekcji Dlaczego warto używać Compose. Więcej informacji o Compose na Wear OS znajdziesz na ścieżce Compose na Wear OS i w repozytorium z przykładami Wear OS w GitHubie.

Material Design w Jetpack Compose na Wear OS

Jetpack Compose na Wear OS oferuje implementację Material 3, która pomaga projektować bardziej angażujące aplikacje.Komponenty Material Design na Wear OS są oparte na motywach Wear Material. Motywy to systematyczny sposób dostosowywania Material Design, który pozwala lepiej odzwierciedlać markę produktu.

Zgodność

Compose na Wear OS działa na zegarkach z Wear OS 3.0 (poziom interfejsu API 30) i Wear OS 2.0 (poziom interfejsu API 25 lub nowszy). Korzystanie z wersji 1.5 Compose for 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 BOMmapy zgodności Compose z Kotlinem.

Platformy

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

Konfiguracja

Korzystanie z Jetpack Compose w Wear OS jest podobne do korzystania z Jetpack Compose w dowolnym innym projekcie na Androida. Główna różnica polega na tym, że Jetpack Compose na Wear zawiera biblioteki przeznaczone specjalnie na Wear, które ułatwiają tworzenie interfejsów użytkownika dostosowanych do zegarków. W niektórych przypadkach te komponenty mają taką samą nazwę jak ich odpowiedniki na inne urządzenia, np. androidx.wear.compose.material3.Button i androidx.compose.material3.Button.

Tworzenie nowej aplikacji w Androidzie Studio

Aby utworzyć nowy projekt, który zawiera Jetpack Compose, wykonaj te czynności:

  1. Jeśli jesteś w oknie Witamy w Android Studio, kliknij Rozpocznij nowy projekt w Android Studio. Jeśli masz już otwarty projekt Android Studio, na pasku menu wybierz 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, zgodnie z opisem w artykule Pliki właściwości Gradle.

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

Zależności pakietu narzędzi Jetpack Compose

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

<img 'foundation',="" 'material',="" 'runtime'.="" 'ui',="" 2="" 4="" a="" alt="" and="" are="" bottom,="" box""="" by="" contain="" from="" rectangles="" rectangles.="" red="" src="/static/wear/images/components/ComposeDependencies.png" surrounded="" the="" to="" top="" />

Oznacza to, że wiele zależności, których używasz już w Jetpack Compose, nie zmienia się podczas kierowania na Wear OS. Na przykład zależności interfejsu, środowiska wykonawczego, kompilatora i animacji pozostają bez zmian.

Wear OS ma jednak własne wersje bibliotek materialmaterial3, foundation oraz navigation, więc sprawdź, czy używasz odpowiednich bibliotek.

W miarę możliwości używaj interfejsów API w wersji WearComposeMaterial. Chociaż technicznie można używać wersji mobilnej Compose Material, nie jest ona zoptymalizowana pod kątem unikalnych wymagań Wear OS. Poza tym łączenie Compose Material z Compose Material na Wear OS może powodować 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 tej tabeli opisano różnice w zależnościach między Wear OS a urządzeniami mobilnymi:

Zależność od Wear OS

(androidx.wear.*)

Porównanie Zależność od urządzeń mobilnych

(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 oprócz androidx.compose.foundation:foundation

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

Kotlin

dependencies {

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

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

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

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

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

    // 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.5.0-beta05")

    // 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")
    
}

Opinia

Wypróbuj Compose na Wear OS i użyj narzędzia do śledzenia problemów, aby przekazać sugestie i opinie.

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