Здоровье
| Последнее обновление | Стабильный релиз | Предварительная версия для выпуска | Бета-версия | Альфа-версия |
|---|---|---|---|---|
| 11 февраля 2026 г. | 1.0.0 | - | 1.1.0-beta01 | - |
Объявление зависимостей
Чтобы добавить зависимость от Health, необходимо добавить репозиторий Google Maven в ваш проект. Для получения дополнительной информации ознакомьтесь с информацией в репозитории Google Maven .
Добавьте зависимости для необходимых артефактов в файл build.gradle вашего приложения или модуля:
классный
dependencies { implementation "androidx.health:health-services-client:1.1.0-beta01" }
Котлин
dependencies { implementation("androidx.health:health-services-client:1.1.0-beta01") }
Обратная связь
Ваши отзывы помогают улучшить Jetpack. Сообщите нам, если вы обнаружите новые проблемы или у вас есть идеи по улучшению этой библиотеки. Пожалуйста, ознакомьтесь с существующими проблемами в этой библиотеке, прежде чем создавать новую. Вы можете проголосовать за существующую проблему, нажав кнопку со звездочкой.
Для получения более подробной информации см. документацию по системе отслеживания ошибок .
Клиент Health Connect, версия 1.0
Версия 1.0.0-alpha04
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-alpha03
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 )
- Добавлен тип единицы измерения мощности. Класс примера степенного ряда перемещен внутрь класса
PowerRecord. ( I5b1e5 ) - Тип энергоблока ( I983ae )
- Добавлен тип единицы измерения температуры ( I4cdb5 ).
- Переименуйте ссылки на Activity, указав в них конкретно Exercise, включая ( 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 при сборке библиотеки в режиме релиза и с
minifyEnabledtrue. ( I78933 ) - Скрывает документацию, не предназначенную для публичного использования. ( I7a08f )
- Исправлена проблема в клиентах, у которых могут быть собственные зависимости protobuf. (https://android-review.googlesource.com/c/platform/frameworks/support/+/2105430)
Версия 1.0.0-alpha02
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-alpha01
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-beta01
11 февраля 2026 г.
Выпущены androidx.health:health-services-client:1.1.0-beta01 , androidx.health:health-services-client-external-protobuf:1.1.0-beta01 и androidx.health:health-services-client-proto:1.1.0-beta01 . Версия 1.1.0-beta01 не содержит изменений по сравнению с предыдущим альфа-релизом.
Версия 1.1.0-alpha05
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 )
Исправлены ошибки
- В этой библиотеке теперь используются аннотации JSpecify, определяющие наличие нулевого значения , которые относятся к использованию типов. Разработчикам Kotlin следует использовать следующий аргумент компилятора для обеспечения корректного использования:
-Xjspecify-annotations=strict(это значение по умолчанию, начиная с версии 2.1.0 компилятора Kotlin). ( Iaf73a , b/326456246 )
Версия 1.1.0-alpha04
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-alpha02
13 декабря 2023 г.
Выпущена версия androidx.health:health-services-client:1.1.0-alpha02 . Версия 1.1.0-alpha02 содержит следующие коммиты.
Изменения в API
- Используйте единый источник достоверной информации для поддерживаемых
ExerciseEvent( I03308 ).
Исправлены ошибки
- Исправлены незначительные ошибки и улучшена документация.
Версия 1.1.0-alpha01
9 августа 2023 г.
Выпущена версия androidx.health:health-services-client:1.1.0-alpha01 . Версия 1.1.0-alpha01 содержит следующие коммиты.
Новые функции
- Помимо первого конкретного события:
GolfShotEvent, были добавлены APIExerciseEvent. ПримитивыExerciseEventпозволяют разработчикам запрашивать поддержку и получать уведомления, когда часы обнаруживают какое-либо событие. Например,GolfShotEventпозволяет разработчикам получать уведомления, когда пользователь делает удар в гольф, а также получать информацию о распознанном типе удара.
Изменения в API
- Разрешить клиентам WHS SDK использовать функциональные возможности
GolfShotEvent. ( I76b03 )
Исправлены ошибки
- Вместо того чтобы агрессивно генерировать исключения при обнаружении неизвестных возможностей событий выполнения упражнений, отфильтруйте их из списка. ( I06afc )
Клиентское приложение для медицинских услуг, версия 1.0
Версия 1.0.0
7 мая 2025 г.
Выпущена версия androidx.health:health-services-client:1.0.0 . Версия 1.0.0 содержит следующие изменения .
Основные особенности версии 1.0.0
- Это обновление версии 1.0.0-rc02, которое станет стабильной версией клиента Health Services Client. В отличие от версии 1.0.0-rc02, эта версия не претерпела никаких изменений.
Версия 1.1.0-alpha03
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
- Добавлен
DataTypeELEVATION_GAIN_DAILY( I059d1 ). - Добавлен
DataTypeSWIM_LAP_COUNT_TOTALв качестве агрегированногоDataTypeдляSWIM_LAP_COUNT. ( I0beeb )
Исправлены ошибки
- Исправлены различные ошибки для повышения надежности межпроцессного взаимодействия.
Версия 1.0.0-rc02
3 апреля 2024 г.
Выпущена версия androidx.health:health-services-client:1.0.0-rc02 . Версия 1.0.0-rc02 содержит следующие изменения . Это релиз только с исправлениями ошибок и не содержит изменений API.
Исправлены ошибки
- Исправлены различные проблемы для повышения надежности межпроцессного взаимодействия.
- Исправлена ошибка, из-за которой одновременный вызов
startExerciseprepareExerciseмог привести к исключениюConcurrentModificationException( 4e37773 ). - Улучшенная документация
Версия 1.0.0-rc01
26 июля 2023 г.
Выпущена версия androidx.health:health-services-client:1.0.0-rc01 . Версия 1.0.0-rc01 содержит следующие коммиты.
Новые функции
- После стабилизации в бета-версии сервис Health Services перешел на версию 1.0.0-rc01.
Изменения в API
- Объединены общедоступные и экспериментальные файлы API для h-путей и m-путей. ( Ic4630 , b/278769092 )
- N/A, изменения в API-файлах — это всего лишь изменение порядка методов. ( I5fa95 )
Версия 1.0.0-beta03
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для приостановки работы существующих асинхронных APIListenableFutureвExerciseClient,PassiveMonitoringClientиMeasureClientдля улучшения поддержки Kotlin. ( Iadea4 ) - Добавлен API
ExerciseTypeConfig, позволяющий обновлять данные во время выполнения упражнения. ДобавленGolfExerciseTypeConfigдля поддержки обновленияExerciseTypeConfigво время упражнений по гольфу. ( I4c539 )
Изменения в API
- Выбрасывать исключение
HealthServicesExceptionпри приостановке функций ( I5e509 ) - Добавить еще один конструктор для обратной совместимости ( Iddeda )
- Выбрасывать
RuntimeExceptionпри приостановке функций ( I53bca ) - Удалить реализацию по умолчанию для генерации исключения ( Id947f )
- Добавление аннотации
@JvmDefaultWithCompatibility( I8f206 )
Исправлены ошибки
- Добавить в kdoc для большей ясности ( Ide285 )
- Разрешите пассивное отслеживание целей только в том случае, если отслеживаются также данные того же типа ( Ibed8d ).
Версия 1.0.0-beta01
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.
- Трансляция была заменена сервисом
- В манифест служб здравоохранения добавлен тег
<queries>, благодаря чему приложениям больше не нужно указывать его в собственном манифесте (при условии, что в их системе сборки включено слияние манифестов). - Вместо множества
ExerciseState, обозначающих завершение/закончение упражнения, были добавлены новые состоянияENDINGиENDED. Теперь они объединены сExerciseEndReasonдля отображения всего спектра предыдущих состояний. - Переименовали
PassiveListenerConfigsetPassiveGoalsвsetDailyGoals, чтобы лучше отразить поддержку только ежедневных пассивных целей. - Теперь
PassiveGoalвсегдаREPEATED, пассивнаяTriggerFrequencyудалена. - Все параметры
LongиDoubleпомечены аннотацией@FloatRange. - В
ExerciseConfigдобавлено свойствоswimmingPoolLengthMeters, которое можно указывать по желанию для улучшения расчетов расстояния при плавании в бассейне. -
ExerciseUpdate.activeDurationустарел. ИспользуйтеExerciseUpdate.activeDurationCheckpointвместо него. - Функция API
flushExerciseAsync()вExerciseClientпереименована вflushAsync(). -
Measure.registerCallbackпереименована вMeasure.registerMeasureCallback. - Общие изменения в названиях:
- В свойствах, определяющих расстояние, теперь добавляется суффикс
meters. - Названия методов обратного вызова теперь относятся к прошедшему времени.
- Большинство сокращений удалены (
HrAccuracyтеперь называетсяHeartRateAccuracy). - Свойства, соответствующие шаблону
enableFoo, теперь называютсяisFooEnabled.
- В свойствах, определяющих расстояние, теперь добавляется суффикс
- Перешёл на использование перечислений (Enums).
- Время, обозначаемое символом
Double, теперь обозначается символомDuration. - Функции, возвращающие
ListenableFuture<Void?>теперь возвращаютListenableFuture<Void>. - Теперь функции, принимающие функцию обратного вызова, всегда указывают эту функцию в качестве последнего параметра.
- В классах, где преподают строители, теперь всегда участвуют и государственные строительные компании.
- Функции регистрации больше не возвращают
ListenableFuture, а вместо этого передают статус регистрации в предоставленную функцию обратного вызова. - Теперь документация KDocs улучшена.
- Публичные классы больше не наследуют
ProtoParcelable.
Исправлены ошибки
- Общие улучшения надежности межпроцессного взаимодействия ( I3b1e2 )
Версия 1.0.0-alpha03
3 ноября 2021 г.
Выпущена версия androidx.health:health-services-client:1.0.0-alpha03 . Версия 1.0.0-alpha03 содержит следующие коммиты.
Новые функции
- В случае разрыва межпроцессного соединения с APK-файлом Health Services SDK автоматически перерегистрирует запросы на обратный вызов для измерения, прослушивания упражнений и пассивного мониторинга.
Изменения в API
- Версия библиотеки SDK minSdkVersion повышена до уровня API 30, поскольку клиент медицинских сервисов в настоящее время поддерживается только на Wear3.
Версия 1.0.0-alpha02
29 сентября 2021 г.
Выпущена версия androidx.health:health-services-client:1.0.0-alpha02 . Версия 1.0.0-alpha02 содержит следующие коммиты.
Изменения в API
- Теперь
ExerciseClientподдерживает подготовку к тренировке. Это позволяет клиентам прогреть датчики и дождаться, например, определения местоположения по GPS, прежде чем начать тренировку. - Введены классы CumulativeDataPoints и StatisticalDataPoints AggregateDataPoints для более точного моделирования агрегированных метрик, отслеживаемых во время активной тренировки. CumulativeDataPoints содержат кумулятивные значения агрегированных интервальных типов данных (например, общее расстояние за тренировку), а StatisticalDataPoints моделируют агрегированные значения выборочных точек данных (например, минимум, максимум и среднее значение частоты сердечных сокращений в минуту). Это заменяет предыдущие типы данных
AGGREGATE_*и доступно в ExerciseUpdate черезgetLatestAggregateMetrics(). Типы данныхAGGREGATE_*больше не поддерживаются. - События
PassiveMonitoringбыли переименованы вPassiveGoals, что позволяет устанавливать цели и получать уведомления о достижении этих целей для таких типов данных, как ежедневные показатели (например, DAILY_STEPS). - Улучшено моделирование точности и доступности данных о частоте сердечных сокращений и местоположении за счет введения новых классов HrAccuracy, LocationAccuracy и LocationAvailability.
- Улучшено именование полей
ExerciseConfigи добавлены новые поляPassiveMonitoringConfig, а также введен параметрExerciseConfig.shouldEnableGpsдля запроса данных, полученных с помощью GPS.
Исправлены ошибки
- Переход на протокол межпроцессного взаимодействия с поддержкой прототипов для улучшения обратной совместимости.
Версия 1.0.0-alpha01
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
ExerciseClient предназначен для приложений, отслеживающих активные тренировки, и поддерживает до 82 различных ExerciseType (от ходьбы и бега до танцев и водного поло). При отслеживании этих упражнений доступен выбор из 50 различных DataType ) в зависимости от типа упражнения и аппаратного обеспечения устройства. Для начала работы просто укажите необходимую информацию в вашем ExerciseConfig , вызовите exerciseClient.startExercise и отслеживайте прогресс с помощью обработчика обновлений.
ПассивныйМониторКлиент
PassiveMonitoringClient — отличный выбор, если ваше приложение отслеживает активность пользователя в течение дня. Вы можете зарегистрировать PendingIntent с набором DataType и получать уведомления о пакетных изменениях. В качестве альтернативы вы можете указать Event , например, достижение определенного количества шагов.
MeasureClient
Иногда пользователю необходимо измерить, например, частоту сердечных сокращений в данный момент, а не во время тренировки и не в течение дня. В таких случаях MeasureClient — идеальный выбор. Вам просто нужно зарегистрировать свою функцию обратного вызова с поддерживаемыми DataType для получения потока данных, отменив регистрацию функции обратного вызова, когда она больше не нужна.