Используйте синтетические данные, полученные с помощью Health Services на Wear OS, чтобы протестировать свое приложение так, как будто упражнение действительно происходит.
Если вы тестируете эмулятор под управлением Wear OS 3 (уровень API 30) или более поздней версии, вы можете использовать синтетические данные, созданные эмулятором. Обратитесь к следующему руководству, чтобы узнать больше о различиях между созданием синтетических данных для Wear OS 3 и более поздних версий.
Используйте синтетические данные на Wear OS 4 и более поздних версиях.
Если вы тестируете эмулятор под управлением Wear OS 4 (уровень API 33) или более поздней версии, вы можете использовать синтетические данные, созданные эмулятором, для тестирования вашего приложения. Это вносит ряд улучшений по сравнению с созданием синтетических данных в более ранних версиях Wear OS:
Генерация синтетических данных в Wear OS 4 и более поздних версиях интегрирована с жизненным циклом Health Services API. Это означает, что нет необходимости использовать команды adb для запуска или остановки упражнения. Вместо этого вы можете начать или остановить упражнение в приложении, как это сделал бы пользователь.
Расширенная поддержка событий тренировок: вы можете имитировать получение событий автоматической паузы и возобновления , событий падения , обнаружения сна и обнаружения ударов в гольф .
Использование панели датчиков служб здравоохранения
Android Studio Koala Feature Drop (Canary) включает в себя сенсорную панель Health Services on Wear OS. Панель можно использовать для имитации устройства, имеющего или не имеющего определенные возможности сенсора, что важно протестировать при создании фитнес-приложений на Wear OS.
Вы также можете использовать панель, чтобы изменять значения метрик и наблюдать, как адаптируется ваше приложение.
Чтобы открыть и использовать панель, выполните следующие действия:
- Создайте или откройте виртуальное устройство Android (AVD) и запустите свое приложение на эмуляторе .
- На панели эмулятора выберите Wear Health Services . Откроется панель Wear Health Services со списком датчиков, доступных на различных устройствах под управлением Android.
После открытия панели вы можете сделать следующее:
- Переключитесь между стандартными возможностями , всеми возможностями (по умолчанию) или пользовательскими . Выберите «Применить» , чтобы отправить текущий список возможностей на эмулируемое устройство, и выберите «Сброс» , чтобы восстановить список возможностей до значений включения-выключения по умолчанию.
- Запускайте различные пользовательские события после того, как вы нажмете раскрывающуюся кнопку «Запустить события» . Отсюда вы можете запускать автоматическую паузу/возобновление занятий фитнесом, запускать события сна пользователя и запускать удары в гольф , которые пользователь делает на поле для гольфа или поле для мини-гольфа.
- Отмените значения датчиков после начала упражнения в приложении, установленном на эмуляторе. После ввода новых значений для различных показателей упражнений выберите «Применить» , чтобы синхронизировать эти значения с эмулятором. Это полезно для тестирования того, как ваше приложение обрабатывает различные условия тренировок и фитнес-тренды пользователей.
Генерация синтетических данных с помощью эмулятора
Вы также можете запустить свое приложение без сенсорной панели и автоматически сгенерировать данные эмулятором.
Используйте элементы управления в приложении, чтобы запускать, приостанавливать и завершать создание синтетических данных.
Также обратите внимание, что эмулятор генерирует одни и те же значения данных для каждого упражнения.
Имитировать события
В эмуляторе вы можете моделировать различные события, такие как AUTO_PAUSE_DETECTED
. Для запуска этих событий можно использовать следующую команду:
adb shell am broadcast -a "whs.event-key" com.google.android.wearable.healthservices
Синтетические события
Событие | Ключ |
---|---|
Обнаружена автоматическая пауза | |
Обнаружено автоматическое возобновление | |
Обнаружено падение | |
Обнаружен сон | |
Обнаружена остановка сна | |
Обнаружен бросок в гольфе | |
Например, вы можете использовать следующую команду для запуска события автоматической паузы:
adb shell am broadcast -a "whs.AUTO_PAUSE_DETECTED" com.google.android.wearable.healthservices
Для событий удара в гольфе вам следует указать дополнительные параметры для типа удара в гольфе , которые описаны ниже:
Тип удара для гольфа | Параметр |
---|---|
Тип свинга-патта | удар |
Частичный тип поворота | частичный |
Качели полного типа | полный |
Добавьте тип свинга для удара в гольфе после указания события удара в гольфе:
adb shell am broadcast -a "whs.GOLF_SHOT" --es golf_shot_swing_type \ "golf-swing-type-parameter" com.google.android.wearable.healthservices
Например, следующая команда запускает частичный удар в гольфе:
adb shell am broadcast -a "whs.GOLF_SHOT" --es golf_shot_swing_type "partial" \ com.google.android.wearable.healthservices
Используйте синтетические данные на Wear OS 3.
Если вы тестируете эмулятор под управлением Wear OS 3, вы также можете использовать синтетические данные для тестирования своего приложения.
Включить генерацию синтетических данных
Выполните следующие шаги, чтобы включить генерацию синтетических данных в Wear OS 3.
- Включите параметры разработчика .
Введите следующую команду
adb
, чтобы включить синтетический режим:adb shell am broadcast \ -a "whs.USE_SYNTHETIC_PROVIDERS" \ com.google.android.wearable.healthservices
После включения генерации синтетических данных введите команды, описанные на этой странице, для управления поведением «синтетического пользователя».
Отключить генерацию синтетических данных
Чтобы вернуться к использованию реальных датчиков, выполните следующую команду:
adb shell am broadcast \
-a "whs.USE_SENSOR_PROVIDERS" \
com.google.android.wearable.healthservices
Синтетические упражнения
Службы здравоохранения поддерживают следующие типы упражнений:
- Ходьба:
whs.synthetic.user.START_WALKING
- Выполняется:
whs.synthetic.user.START_RUNNING
- Поход:
whs.synthetic.user.START_HIKING
- Плавание:
whs.synthetic.user.START_SWIMMING
- Бег на беговой дорожке:
whs.synthetic.user.START_RUNNING_TREADMILL
Упражнения генерируют реалистичные синтетические данные для следующих типов данных:
- Частота сердечных сокращений
- Количество шагов в минуту
- Местоположение GPS с использованием одного маршрута по умолчанию
- Продолжительность мероприятия
- Высота и этажи
Кроме того, могут быть созданы следующие состояния:
- Состояние сна – спит или бодрствует
- Обнаружение падения
Начинать
Чтобы начать симуляцию упражнения, отправьте соответствующую трансляцию на com.google.android.wearable.healthservices
:
# start the "walking" synthetic exercise
$ adb shell am broadcast \
-a "whs.synthetic.user.START_WALKING" \
com.google.android.wearable.healthservices
Каждое действие имеет предустановки для поддерживаемых метрик:
Активность | Частота сердечных сокращений | Средняя скорость | Изменение высоты | Использовать местоположение |
---|---|---|---|---|
Прогулка | 120 ударов в минуту | 1,4 м/сек. | 20,0 м/мин | истинный |
Бег | 170 ударов в минуту | 2,3 м/сек | 20,0 м/мин | истинный |
Пеший туризм | 150 ударов в минуту | 1,3 м/сек | 20,0 м/мин | истинный |
Плавание | 150 ударов в минуту | 1,6 м/сек. | 0,0 м/мин | истинный |
Бег на беговой дорожке | 160 ударов в минуту | 2,3 м/сек | 20,0 м/мин | ЛОЖЬ |
Останавливаться
Чтобы остановить синтетическую активность, используйте следующую команду:
adb shell am broadcast \
-a "whs.synthetic.user.STOP_EXERCISE" \
com.google.android.wearable.healthservices
Обычай
Для более точного контроля над тем, какие метрики генерируются, запустите пользовательское упражнение с помощью строки действия whs.synthetic.user.START_EXERCISE
. Укажите любую комбинацию следующих флагов:
-
--ei exercise_options_duration_secs <int>
: продолжительность упражнения в секундах. По умолчанию:0
. -
--ei exercise_options_heart_rate <int>
: частота пульса в ударах в минуту. Среднее:70
. -
--ef exercise_options_average_speed <float>
: средняя скорость в метрах в секунду. Также влияет на количество шагов в минуту или частоту вращения педалей . По умолчанию:0
. -
--ez exercise_options_use_location <boolean>
: выдавать ли данные о местоположении во время упражнения, используя маршрут по умолчанию. По умолчанию:false
. -
--ef exercise_options_max_elevation_rate <float>
: максимально возможная скорость изменения высоты в метрах в минуту. По умолчанию:0
.
Например, установите параметры упражнения следующим образом:
adb shell am broadcast \
-a "whs.synthetic.user.START_EXERCISE" \
--ei exercise_options_heart_rate 90 \
--ef exercise_options_average_speed 1.2 \
--ez exercise_options_use_location true \
com.google.android.wearable.healthservices
Вы также можете изменить доступные типы данных независимо от того, поддерживает ли реальное или эмулируемое оборудование определенный тип данных. Например, вы можете включить или отключить абсолютную высоту, как показано в следующем фрагменте:
# enable synthetic mode and enable absolute elevation
$ adb shell am broadcast \
-a "whs.CONFIGURE_SYNTHETIC_DEVICE" \
--ez absolute_elevation true \
com.google.android.wearable.healthservices
# enable synthetic mode and disable absolute elevation
$ adb shell am broadcast \
-a "whs.CONFIGURE_SYNTHETIC_DEVICE" \
--ez absolute_elevation false \
com.google.android.wearable.healthservices
Другие состояния и события
Состояние сна
Вы также можете запускать состояния сна для синтетического пользователя. Поддерживаются два состояния: сон и бодрствование.
Чтобы войти в спящий режим, выполните следующую команду:
adb shell am broadcast \
-a "whs.synthetic.user.START_SLEEPING" \
com.google.android.wearable.healthservices
Чтобы войти в состояние бодрствования, выполните следующую команду:
adb shell am broadcast \
-a "whs.synthetic.user.STOP_SLEEPING" \
com.google.android.wearable.healthservices
Обнаружение падения
Чтобы имитировать падение, выполните следующую команду:
adb shell am broadcast \
-a "whs.synthetic.user.FALL_OVER" \
com.google.android.wearable.healthservices
Службам здравоохранения может потребоваться до минуты, чтобы доставить осеннее событие.
{% дословно %}Рекомендуется для вас
- Примечание. Текст ссылки отображается, когда JavaScript отключен.
- Тип источника
- АрифметическоеВыражение
- Списокконфигурация