Используйте Jetpack Compose на Wear OS


Compose для Wear OS похож на Compose для мобильных устройств. Однако есть несколько ключевых отличий. Это руководство подробно описывает сходства и различия.

Compose для Wear OS является частью Android Jetpack и, как и другие используемые вами библиотеки Wear Jetpack, помогает вам писать более качественный код быстрее. Мы рекомендуем именно этот подход к разработке пользовательских интерфейсов для приложений Wear OS .

Если вы не знакомы с инструментами Jetpack Compose, ознакомьтесь с программой Compose Pathway . Многие принципы разработки мобильных приложений Compose применимы и к Compose для Wear OS. Подробнее об общих преимуществах декларативного UI-фреймворка см. в статье «Зачем Compose?» . Чтобы узнать больше о Compose для Wear OS, ознакомьтесь с программой Compose для Wear OS Pathway и репозиторием примеров Wear OS на GitHub.

Material Design в Jetpack Compose на Wear OS

Jetpack Compose на Wear OS предлагает реализациюМатериал 3 , который поможет вам разработать более интересное приложениеФункциональность. Компоненты Material Design в Wear OS созданы на основе Wear Material Theming . Эта тематика — систематизированный способ персонализации Material Design и лучшего отражения бренда вашего продукта.

Совместимость

Compose для Wear OS работает на часах с поддержкой Wear OS 3.0 (API уровня 30) и Wear OS 2.0 (API уровня 25 и выше). Для использования Compose для Wear OS версии 1.5 требуются библиотеки androidx.compose версии 1.8 и Kotlin 1.9.0. Для проверки совместимости Compose можно использовать сопоставление BOM и карту совместимости Compose с Kotlin .

Поверхности

Compose for Wear OS упрощает разработку приложений для Wear OS. Подробнее см. в разделе «Приложения» . Используйте наши встроенные компоненты для создания пользовательского интерфейса, соответствующего рекомендациям Wear OS. Подробнее о компонентах см. в нашем руководстве по проектированию .

Настройка

Использование Jetpack Compose с Wear OS аналогично использованию Jetpack Compose для любого другого проекта Android. Главное отличие заключается в том, что Jetpack Compose для Wear добавляет библиотеки, специфичные для Wear, которые упрощают создание пользовательских интерфейсов, адаптированных для часов. В некоторых случаях эти компоненты имеют те же имена, что и их аналоги, не относящиеся к Wear, напримерandroidx.wear.compose.material3.Button и androidx.compose.material3.Button .

Создайте новое приложение в Android Studio

Чтобы создать новый проект, включающий Jetpack Compose, выполните следующие действия:

  1. Если вы открыли окно «Добро пожаловать в Android Studio» , нажмите « Начать новый проект Android Studio» . Если у вас уже открыт проект Android Studio, выберите в меню «Файл» > «Создать» > «Импортировать образец» .
  2. Найдите Compose for Wear и выберите Compose for Wear OS Starter.
  3. В окне «Настройка проекта» выполните следующие действия:
    1. Задайте имя приложения .
    2. Выберите местоположение проекта для вашего образца.
  4. Нажмите кнопку Готово .
  5. Проверьте правильность настройки файла build.gradle проекта, как описано в разделе Файлы свойств Gradle .

Теперь вы готовы приступить к разработке приложения с использованием Compose для Wear OS.

Зависимости набора инструментов Jetpack Compose

Чтобы использовать Jetpack Compose с Wear OS, необходимо включить зависимости набора инструментов Jetpack Compose в файл build.gradle вашего приложения. Большинство изменений зависимостей, связанных с Wear OS, находятся на верхних архитектурных уровнях и обведены красным на следующем изображении.

Это означает, что многие зависимости, которые вы уже используете с Jetpack Compose, не изменятся при переходе на Wear OS. Например, зависимости пользовательского интерфейса, среды выполнения, компилятора и анимации останутся прежними.

Однако Wear OS имеет собственные версии библиотек material и material3 , foundation и navigation , поэтому убедитесь, что вы используете правильные библиотеки.

По возможности используйте API версии WearComposeMaterial . Хотя технически возможно использование мобильной версии Compose Material, она не оптимизирована под уникальные требования Wear OS. Кроме того, смешивание Compose Material с Compose Material для Wear OS может привести к непредсказуемому поведению. Например, поскольку каждая библиотека имеет собственный класс MaterialTheme , существует вероятность несоответствия цветов, типографики или форм при использовании обеих версий.

В следующей таблице показаны различия в зависимостях между Wear OS и Mobile:

Зависимость от Wear OS

(androidx.wear.*)

Сравнение Мобильная зависимость

(androidx.*)

androidx.wear.compose:compose-material3 вместо androidx.compose.material:material3
androidx.wear.compose:compose-navigation вместо androidx.navigation:navigation-compose
androidx.wear.compose:compose-foundation в дополнение к androidx.compose.foundation:foundation

В следующем фрагменте показан пример файла build.gradle , который включает эти зависимости:

Котлин

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

Обратная связь

Попробуйте Compose для Wear OS и используйте систему отслеживания ошибок , чтобы отправлять предложения и отзывы.

Присоединяйтесь к каналу #compose-wear на Kotlin Slack, чтобы связаться с сообществом разработчиков и поделиться с нами своим опытом.

{% дословно %} {% endverbatim %} {% дословно %} {% endverbatim %}