Используйте синтетические данные, полученные от служб здравоохранения на Wear OS, чтобы протестировать приложение так, как будто это реальная тренировка.
Если вы проводите тестирование на эмуляторе под управлением Wear OS 3 (API уровня 30) или выше, вы можете использовать синтетические данные, сгенерированные эмулятором. Подробнее о различиях между генерацией синтетических данных для Wear OS 3 и выше см. в следующем руководстве.
Используйте синтетические данные на Wear OS 4 и выше
Если вы тестируете приложение на эмуляторе под управлением Wear OS 4 (API уровня 33) или выше, вы можете использовать синтетические данные, сгенерированные эмулятором, для тестирования своего приложения. Это вносит ряд улучшений по сравнению с генерацией синтетических данных в более ранних версиях Wear OS:
Генерация синтетических данных в Wear OS 4 и более поздних версиях интегрирована с жизненным циклом API Health Services. Это означает, что для запуска или остановки тренировки не требуются команды 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
Для событий, связанных с ударами по гольфу, необходимо указать дополнительные параметры для типа свинга удара по гольфу , которые приведены в следующей таблице:
Тип удара в гольфе | Параметр |
---|---|
Тип патта Swing | патт |
Частичный тип Swing | частичный |
Качающийся полный тип | полный |
Добавьте тип замаха при ударе по мячу в гольфе после указания события удара по мячу в гольфе:
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 отключен.
- SourceType
- АрифметическоеВыражение
- ListConfiguration