В марте 2018 Google произвела ребрендинг платформы Android Wear. Новое название — Wear OS. По статистике, на данный момент в мире умных часов лидирует watchOS от Apple, занимая 16,2 %, на долю Wear OS приходится меньше 7%, Однако, рынок умных часов еще новый и определенно следует ждать увеличения пользователей. Это значит, мы можем писать приложения, а также watchface для носимых гаджетов.
Рассмотрим пример создания модуля Wear OS для существующего приложения. У меня как раз есть подходящее — все тот же секундомер бодибилдера.
Создание модуля
Итак, создаем новый модуль в нашем проекте и выбираем wearable app
В build.gradle созданного модуля добавляем зависимости:
dependencies { implementation 'com.android.support:wear:27.1.1' implementation 'com.google.android.support:wearable:2.3.0' compileOnly 'com.google.android.wearable:wearable:2.3.0' }
Wearable app может быть в трех состояниях:
- Полностью независимо от мобильного преложения
- Полу-независимо (телефон не требуется, но может предоставлять дополнительные функции)
- Зависимым от мобильного приложения
Для первых двух, то есть для независимых, в Android Manifest для тега application надо прописать:
<meta-data android:name="com.google.android.wearable.standalone" android:value="true" />
иначе приложение будет недоступно для пользователей с iPhone.
То есть, если этот флаг false, то приложение можно будет установить только на устройстве, связнным с телефоном, на котором установлен Play Store.
Помимо этого, для wear-модуля необходимо добавить В AndroidManifest.xml <uses-feature> со значением:
<manifest> ... <uses-feature android:name="android.hardware.type.watch" /> ... </manifest>
Packaging
Ранее, apk под Wear 1.0 были встраиваемыми в APKs для телефонов. Wear OS позволяет нам загружать apk скомпилированные под Wear 1.0 сразу в Play Store. Это позволяет уменьшить размер apk основного приложения и дает дополнительную гибкость в версионировании и дистрибуции нашего приложения. Подробнее здесь
Приложение должно быть самостоятельным apk, но это не значит, что мы не можем использовать код нашего приложения повторно. Просто выносим общую логику в библиотечный модуль, и импортируем его в модули app и wear. Таким образом, в модулях app и wear остается в основном только UI-часть приложения.
UI
Для создания красивых отзывчивых приложений в wear os есть свои UI-элементы . Например, BoxInsetLayout — layout, автоматически адпатирующийся под круглые и прямоугольные экраны.
Для создания списков в wear устройствах имеется аналог RecyclerView — WearableRecyclerView
Итог
Помните, что из-за аппаратных ограничений часы не предназначены для больших по функциональности приложений. Они идеально подходят для уведомлений, быстрых сообщений, или простых приложений. Имейте это ввиду, и публикуйте новые приложения или адаптированные под Wear OS версии существующих в Google Play!
Вот и все на сегодня!