Здоровье
Последнее обновление | Стабильный выпуск | Кандидат на выпуск | Бета-версия | Альфа-релиз |
---|---|---|---|---|
11 декабря 2024 г. | - | 1.0.0-rc02 | - | 1.1.0-альфа05 |
Объявление зависимостей
Чтобы добавить зависимость от Health, необходимо добавить в свой проект репозиторий Google Maven. Для получения дополнительной информации прочтите репозиторий Google Maven .
Добавьте зависимости для нужных вам артефактов в файл build.gradle
для вашего приложения или модуля:
классный
dependencies { implementation "androidx.health:health-services-client:1.1.0-alpha03" }
Котлин
dependencies { implementation("androidx.health:health-services-client:1.1.0-alpha03") }
Обратная связь
Ваши отзывы помогают сделать Jetpack лучше. Дайте нам знать, если вы обнаружите новые проблемы или у вас есть идеи по улучшению этой библиотеки. Пожалуйста, ознакомьтесь с существующими проблемами в этой библиотеке, прежде чем создавать новую. Вы можете добавить свой голос к существующей проблеме, нажав кнопку со звездочкой.
Дополнительную информацию см . в документации по системе отслеживания проблем .
Клиент Health Connect версии 1.0
Версия 1.0.0-альфа04
24 августа 2022 г.
Начиная с версии 1.0.0-alpha04, androidx.health:health-connect-client
был перенесен в androidx.health.connect:connect-client
. Для будущих выпусков используйте androidx.health.connect:connect-client
и соответствующие примечания к выпуску на нашей странице Health Connect .
Для миграции просто измените импорт зависимостей с androidx.health:health-connect-client:1.0.0-alpha03
на androidx.health.connect:connect-client:1.0.0-alpha04
.
Версия 1.0.0-альфа03
27 июля 2022 г.
Выпущен androidx.health:health-connect-client:1.0.0-alpha03
. Версия 1.0.0-alpha03 содержит эти коммиты.
Новые возможности
- Краткое изложение новых изменений API: к API чтения, записи и агрегирования добавлен набор модулей. Теперь приложения могут получать или записывать записи в выбранных ими единицах измерения, например в граммах или миллиграммах для питательных веществ
NutritionRecord
.
Изменения API
- Исправьте
List<DataOrigin>
, чтобы он былSet<DataOrigin>
для различных объектов ответа на запрос. ( I42342 ) - Исправьте единицу измерения общего количества калорий в меню «Мощность->Энергия». ( I0b429 )
- Перемещены образцы классов серий внутри записей серий ( Ica9bb ):
-
CyclingPedalingCadence
->CyclingPedalingCadenceRecord.Sample
-
HeartRate
->HeartRateRecord.Sample
-
StepsCadence
->StepsCadenceRecord.Sample
-
- Устаревший класс
HealthDataRequestPermission
в пользуPermissionController.createRequestPermissionActivityContract
; Это способствует лучшей обнаруживаемости и унифицированной параметризации. ( I81e7f ) - В объем добавлены жидкие унции США. ( I5f03d )
- Добавлен тип единицы измерения скорости ( I1d574 ).
- Добавлен тип единицы процента ( I08f23 ).
- Добавлен тип единицы измерения давления ( Ifb01f ).
- Добавлен тип единицы массы ( Ifd81a ).
- Добавлен тип единицы измерения объема ( I59ad1 ).
- Добавлен тип силового агрегата. Пример класса серии Power перемещен внутри класса
PowerRecord
. ( I5b1e5 ) - Добавлен тип единицы энергии ( I983ae ).
- Добавлен тип единицы измерения температуры ( I4cdb5 ).
- Переименуйте ссылки Activity, относящиеся к упражнениям, включая ( I3f936 ):
- Переименован
ActivityLap
->ExerciseLapRecord
- Переименовано
ActivityEvent
->ExerciseEventRecord
- Переименованные
Repetitions
->ExerciseRepetitionsRecord
- Переименован
ActivitySession
->ExerciseSessionRecord
- Переименован
- Перемещены метаданные пакета, вложенные в записи. ( Ie0835 )
- Используемая единица длины во всех оставшихся записях ( Ib10dd ):
-
ActivityLapRecord
-
ElevationGainedRecord
-
HeightRecord
-
HipCircumferenceRecord
-
WaistCircumferenceRecord
-
- Добавлен тип единицы длины ( Idae39 ).
- Обновите терминологию описания
CervicalMucus
( I25a2b ):-
CervicalMucus.Amount
->CervicalMucusRecord.Texture
-
CervicalMucus.Appearance
->CervicalMucusRecord.Sensation
-
- Добавлен суффикс «Record» ко всем именам классов записей ( I1ffc2 ).
Исправления ошибок
- Исправлены проблемы с proguard, когда библиотека собрана с использованием версии Release и
minifyEnabled
true. ( I78933 ) - Скрывает документацию, не предназначенную для публичного использования. ( I7a08f )
- Устраняет проблему в клиентах, у которых могут быть свои собственные зависимости protobuf. (https://android-review.googlesource.com/c/platform/frameworks/support/+/2105430).
Версия 1.0.0-альфа02
1 июня 2022 г.
Выпущен androidx.health:health-connect-client:1.0.0-alpha02
. Версия 1.0.0-alpha02 содержит эти коммиты.
Изменения API
- Устарели
hasMetric
иgetMetric
вAggregationResult
, добавлены операторы contains и get ( I7cc7c ). - Добавляет
OvulationTest.Result.HIGH
иOvulationTest.Result.INCONCLUSIVE
. ( I9f9c4 )
Исправления ошибок
- Уменьшите требования к SDK до 26. ( I6d201 ).
Версия 1.0.0-альфа01
11 мая 2022 г.
Выпущен androidx.health:health-connect-client:1.0.0-alpha01
. Версия 1.0.0-alpha01 содержит эти коммиты.
Новые возможности
- API для чтения записей о фитнесе и здоровье, которыми делятся другие приложения.
- API для записи данных о фитнесе и состоянии здоровья, которыми можно поделиться с другими приложениями.
- API для получения агрегированных показателей для доступных записей.
- API для получения дополнительных изменений (вставки, обновления или удаления) записей другими приложениями.
- API для запроса у пользователей разрешений на работоспособность.
- API для проверки разрешений или отзыва предоставленных разрешений на работоспособность.
Клиент служб здравоохранения версии 1.1
Версия 1.1.0-альфа05
11 декабря 2024 г.
androidx.health:health-services-client:1.1.0-alpha05
, androidx.health:health-services-client-external-protobuf:1.1.0-alpha05
и androidx.health:health-services-client-proto:1.1.0-alpha05
выпущены. Версия 1.1.0-alpha05 содержит эти коммиты .
Новые возможности
- Теперь включает правила proguard, чтобы избежать удаления необходимых классов. ( 65d0c3f )
Исправления ошибок
- Эта библиотека теперь использует аннотации NULL NULL JSpecify , которые являются типизированными. Разработчики Kotlin должны использовать следующие аргументы компилятора для обеспечения правильного использования:
-Xjspecify-annotations=strict, -Xtype-enhancement-improvements-strict-mode
( Iaf73a , b/326456246 )
Версия 1.1.0-альфа04
16 октября 2024 г.
androidx.health:health-services-client:1.1.0-alpha04
, androidx.health:health-services-client-external-protobuf:1.1.0-alpha04
и androidx.health:health-services-client-proto:1.1.0-alpha04
выпущены. Версия 1.1.0-alpha04 содержит эти коммиты .
Исправления безопасности
- После этого изменения androidx компилируется с protobuf 4.28.2 для устранения CVE-2024-7254 . Обновите свою зависимость от
androidx.health:health-services-client
до последней версии 1.1.0-alpha04, чтобы устранить риск уязвимости.
Версия 1.1.0-альфа02
13 декабря 2023 г.
Выпущен androidx.health:health-services-client:1.1.0-alpha02
. Версия 1.1.0-alpha02 содержит эти коммиты.
Изменения API
- Используйте единый источник достоверной информации для поддерживаемых
ExerciseEvent
. ( I03308 )
Исправления ошибок
- Незначительные исправления ошибок и улучшения документации.
Версия 1.1.0-альфа01
9 августа 2023 г.
Выпущен androidx.health:health-services-client:1.1.0-alpha01
. Версия 1.1.0-alpha01 содержит эти коммиты.
Новые возможности
- API-интерфейсы
ExerciseEvent
были добавлены вместе с первым конкретным событием:GolfShotEvent
. ПримитивыExerciseEvent
позволяют разработчикам запрашивать поддержку и получать уведомления, когда часы обнаруживают, что что-то произошло.GolfShotEvent
, например, позволяет разработчикам получать уведомления, когда пользователь выполняет удар в гольф, в дополнение к распознанному типу удара.
Изменения API
- Разрешите клиентам WHS SDK использовать функции
GolfShotEvent
. ( I76b03 )
Исправления ошибок
- Вместо того, чтобы агрессивно создавать исключения при обнаружении неизвестных возможностей событий упражнений, отфильтруйте их из списка. ( I06afc )
Клиент служб здравоохранения версии 1.0
Версия 1.1.0-альфа03
14 мая 2024 г.
Выпущен androidx.health:health-services-client:1.1.0-alpha03
. Версия 1.1.0-alpha03 содержит эти коммиты .
Новые возможности
- Представлены API-интерфейсы
DebouncedGoal
, которые позволяют отслеживать цель для образца типа данных или типа данных образца статистики во время тренировки с функциями устранения дребезга (initialDelay
иdurationAtThreshold
). ( I09be9 ) - Добавлен следующий образец расширенных текущих показателей и статистических
DataTypes
. ( I0b8b5 ):-
Ground Contact Time
-
Vertical Oscillation
-
Vertical Ratio
-
Stride Length
-
Изменения API
- Добавлен
DataType
ELEVATION_GAIN_DAILY
. ( I059d1 ) - Добавлен
DataType
SWIM_LAP_COUNT_TOTAL
в качестве агрегированногоDataType
дляSWIM_LAP_COUNT
. ( I0beeb )
Исправления ошибок
- Исправлены различные проблемы для повышения надежности IPC.
Версия 1.0.0-rc02
3 апреля 2024 г.
Выпущен androidx.health:health-services-client:1.0.0-rc02
. Версия 1.0.0-rc02 содержит эти коммиты . Это выпуск только с исправлением ошибок и не содержит изменений API.
Исправления ошибок
- Исправлены различные проблемы для повышения надежности IPC.
- Исправлена проблема, из-за которой вызов
startExercise
одновременно сprepareExercise
мог привести к исключениюConcurrentModificationException
( 4e37773 ). - Улучшенная документация
Версия 1.0.0-rc01
26 июля 2023 г.
androidx.health:health-services-client:1.0.0-rc01
выпущен. Версия 1.0.0-rc01 содержит эти коммиты.
Новые возможности
- Службы здравоохранения перешли на версию 1.0.0-rc01 после стабилизации в бета-версии.
Изменения API
- Объединены общедоступные и экспериментальные файлы API для путей h-thru m. ( Ic4630 , б/278769092 )
- Н/Д, изменения файлов API — это просто методы изменения порядка. ( I5fa95 )
Версия 1.0.0-бета03
5 апреля 2023 г.
Выпущен androidx.health:health-services-client:1.0.0-beta03
. Версия 1.0.0-beta03 содержит эти коммиты.
Новые возможности
BatchingMode
теперь можно настроить для доставки пакетных данных о тренировках с заданным интервалом вместо интервала по умолчанию во время активного упражнения, либо при запуске упражнения с помощью ExerciseConfig
, либо во время с помощью метода переопределения. Поддержка этого будет включена в предстоящем выпуске Health Services в Google Play Store, и ее можно будет проверить с помощью возможностей упражнений. Примечание. Режимы пакетной обработки вступают в силу, когда устройство находится в неинтерактивном состоянии, и приводят к увеличению энергопотребления.
Изменения API
- Вызов
HealthServicesException
при сбое функции приостановкиoverrideBatchingModesForActiveExercise
( Ifd387 ) - Введены функции приостановки для API асинхронного
overrideBatchingModesForActiveExercise
что делает их более удобными для Kotlin ( I7dd15 ). -
BatchingMode
переопределяет необязательный параметр вExerciseConfig
( Id22e9 )
Исправления ошибок
- Небольшие исправления
DataType
иExerciseUpdate
( 5e185f ).
Версия 1.0.0-beta02
11 января 2023 г.
Выпущен androidx.health:health-services-client:1.0.0-beta02
. Версия 1.0.0-beta02 содержит эти коммиты.
Новые возможности
- Добавлены функции расширения
suspend
для существующих асинхронных API-интерфейсовListenableFuture
вExerciseClient
,PassiveMonitoringClient
иMeasureClient
для лучшей поддержки Kotlin. ( Иадея4 ) - Добавлен API-интерфейс
ExerciseTypeConfig
, который позволяет обновлять данные во время текущих упражнений. ДобавленGolfExerciseTypeConfig
для поддержки обновленияExerciseTypeConfig
во время упражнений по гольфу. ( I4c539 )
Изменения API
- Выдавать
HealthServicesException
в функциях приостановки ( I5e509 ). - Добавьте еще один конструктор для обратной совместимости ( Iddeda )
- Выдавать
RuntimeException
в функциях приостановки ( I53bca ) - Удалить реализацию по умолчанию, вызывающую исключение ( Id947f ).
- Добавление аннотации
@JvmDefaultWithCompatibility
( I8f206 )
Исправления ошибок
- Добавьте в kdoc для ясности ( Ide285 )
- Разрешить отслеживание пассивного мониторинга для целей, только если отслеживаются те же типы данных ( Ibed8d ).
Версия 1.0.0-бета01
24 октября 2022 г.
Выпущен androidx.health:health-services-client:1.0.0-beta01
. Версия 1.0.0-beta01 содержит эти коммиты.
Новые возможности
Добавлена возможность прослушивания событий работоспособности через
PassiveMonitoringClient
, первое событие:HealthEvent.FALL_DETECTED
.Новые типы упражнений:
-
ALPINE_SKIING
-
BACKPACKING
-
CROSS_COUNTRY_SKIING
-
HORSE_RIDING
-
INLINE_SKATING
-
MOUNTAIN_BIKING
-
ORIENTEERING
-
ROLLER_SKATING
-
YACHTING
-
Новые типы данных:
-
ELEVATION_LOSS
-
GOLF_SHOT_COUNT
-
Изменения API
- Обновлен способ моделирования данных : модель данных и способы представления
DataType
,DataPoint
и их базовых значений были пересмотрены. Эффект верхнего уровня заключается в том, что API теперь стали более явными и типобезопасными. - Location
DataPoint
больше не представляются какDoubleArray
, а как строго типизированный объектLocationData
. - Перемещено на новый набор API-интерфейсов пассивного прослушивателя:
- Трансляция была заменена
PassiveListenerService
. - Существующие прослушиватели были заменены одним прослушивателем:
PassiveListenerCallback
.
- Трансляция была заменена
- В манифест Health Services добавлен тег
<queries>
, поэтому приложениям больше не нужно указывать его в своем собственном манифесте (при условии, что в их системе сборки включено объединение манифестов). - Убрано множество
ExerciseState
для обозначения завершения/завершения упражнения и добавлены новые состояния упражненияENDING
иENDED
. Теперь они объединены сExerciseEndReason
, чтобы представить полный спектр предыдущих состояний. -
PassiveListenerConfig
setPassiveGoals
переименован вsetDailyGoals
чтобы лучше отражать, что мы поддерживаем только ежедневные пассивные цели. -
PassiveGoal
теперь всегдаREPEATED
, пассивнаяTriggerFrequency
удалена. - Все параметры
Long
иDouble
аннотированы с помощью@FloatRange
. - В
ExerciseConfig
добавлено свойствоswimmingPoolLengthMeters
, которое можно указать дополнительно, чтобы улучшить расчет расстояния при плавании в бассейне. - Устаревший вариант
ExerciseUpdate.activeDuration
. Вместо этого используйтеExerciseUpdate.activeDurationCheckpoint
. - API-
flushExerciseAsync()
переименованflushAsync()
вExerciseClient
. -
Measure.registerCallback
переименован вMeasure.registerMeasureCallback
. - Общие изменения в названии:
- Свойства расстояния теперь имеют суффикс
meters
. - Имена методов обратного вызова теперь имеют прошедшее время.
- Большинство сокращений были удалены (
HrAccuracy
теперь называетсяHeartRateAccuracy
). - Свойства, соответствующие шаблону
enableFoo
, теперь называютсяisFooEnabled
.
- Свойства расстояния теперь имеют суффикс
- Мигрировал из Enums.
- Время, представленное
Double
, теперь представленоDuration
. - Функции, возвращающие
ListenableFuture<Void?>
теперь возвращаютListenableFuture<Void>
. - Функции, которые принимают обратный вызов, теперь всегда имеют обратный вызов в качестве последнего параметра.
- Классы со строителями теперь всегда имеют публичные конструкторы.
- Функции регистрации больше не возвращают
ListenableFuture
и вместо этого передают статус регистрации предоставленному обратному вызову. - KDocs теперь улучшен.
- Открытые классы больше не расширяют
ProtoParcelable
.
Исправления ошибок
- Общие улучшения надежности IPC ( I3b1e2 )
Версия 1.0.0-альфа03
3 ноября 2021 г.
Выпущен androidx.health:health-services-client:1.0.0-alpha03
. Версия 1.0.0-alpha03 содержит эти коммиты.
Новые возможности
- SDK автоматически перерегистрирует запросы на регистрацию показателей, прослушивателей упражнений и обратных вызовов пассивного мониторинга в случае разрыва соединения IPC с APK Health Services.
Изменения API
- minSdkVersion библиотеки SDK повышен до уровня API 30, поскольку клиент Health Services в настоящее время поддерживается только на Wear3.
Версия 1.0.0-альфа02
29 сентября 2021 г.
Выпущен androidx.health:health-services-client:1.0.0-alpha02
. Версия 1.0.0-alpha02 содержит эти коммиты.
Изменения API
-
ExerciseClient
теперь поддерживает подготовку упражнения. Это позволяет клиентам прогревать датчики и ждать, например, исправления GPS, прежде чем приступить к тренировке. - Введены классы CumulativeDataPoints и StatisticalDataPoints AggregateDataPoint для лучшего моделирования совокупных показателей, отслеживаемых во время активного упражнения. CumulativeDataPoints хранит совокупные значения типов агрегированных интервальных данных (например, общее расстояние во время тренировки), а StatisticalDataPoints моделирует агрегированные значения выборочных точек данных (таких как минимальное, максимальное и среднее значение HeartRateBpm). Он заменяет предыдущие типы данных
AGGREGATE_*
, и доступ к ним можно получить в УпражненииUpdate черезgetLatestAggregateMetrics()
.AGGREGATE_*
Типы данных больше не поддерживаются. - События
PassiveMonitoring
были переименованы вPassiveGoals
, которые поддерживают установку целей и получение уведомлений при достижении этих целей для таких типов данных, как ежедневные показатели (т. е. DAILY_STEPS). - Улучшено моделирование точности и доступности сердечного ритма и местоположения за счет введения новых классов HrAccuracy, LocationAccuracy и LocationAvailability.
- Улучшено наименование
ExerciseConfig
и новые поляPassiveMonitoringConfig
, а также добавлено имяExerciseConfig.shouldEnableGps
для запроса данных, поддерживаемых GPS.
Исправления ошибок
- Переход на транспорт IPC с поддержкой прототипов для лучшей поддержки обратной совместимости.
Версия 1.0.0-альфа01
18 мая 2021 г.
Выпущен androidx.health:health-services-client:1.0.0-alpha01
. Версия 1.0.0-alpha01 содержит эти коммиты.
Особенности первоначального выпуска
Библиотека Health Services предоставляет разработчикам единый набор API-интерфейсов для интеграции с реализациями датчиков для конкретных устройств. Он будет работать «из коробки» с эмуляторами Wear OS 3 и будущими устройствами, а в будущем будут поддерживаться дополнительные платформы. В этот первоначальный выпуск включены три поверхности API верхнего уровня: ExerciseClient
, PassiveMonitoringClient
и MeasureClient
.
УпражнениеКлиент
ExerciseClient
создан для приложений, отслеживающих активные тренировки, и содержит до 82 различных ExerciseType
— от ходьбы и бега до танцев и водного поло. При отслеживании этих упражнений доступен выбор из 50 различных DataType
в зависимости от типа упражнения и оборудования, доступного на устройстве. Чтобы начать, просто укажите соответствующую информацию в файле ExerciseConfig
, вызовите exerciseClient.startExercise
и прослушивайте прогресс в прослушивателе обновлений.
Пассивный мониторингКлиент
PassiveMonitoringClient
— отличный выбор, если ваше приложение отслеживает активность пользователя в течение дня. Вы можете зарегистрировать PendingIntent
с набором DataType
и проснуться для обработки пакетных изменений. Альтернативно вы можете указать Event
, например достижение определенного количества шагов.
МераКлиент
Иногда пользователю необходимо измерить, например, частоту пульса в данный момент, а не во время тренировки и не в течение дня. В такие моменты MeasureClient
является идеальным выбором. Вы просто регистрируете свой обратный вызов с помощью поддерживаемых DataType
, чтобы получать поток данных, и отменяете регистрацию своего обратного вызова, когда он больше не нужен.