Здоровье

Создавайте высокопроизводительные приложения для здравоохранения, не зависящие от платформы.
Последнее обновление Стабильный релиз Предварительная версия для выпуска Бета-версия Альфа-версия
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 при сборке библиотеки в режиме релиза и с minifyEnabled true. ( 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 , были добавлены API ExerciseEvent . Примитивы 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

  • Добавлен DataType ELEVATION_GAIN_DAILY ( I059d1 ).
  • Добавлен DataType SWIM_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.

Исправлены ошибки

  • Исправлены различные проблемы для повышения надежности межпроцессного взаимодействия.
  • Исправлена ​​ошибка, из-за которой одновременный вызов startExercise prepareExercise мог привести к исключению 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 для приостановки работы существующих асинхронных API ListenableFuture в 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 для отображения всего спектра предыдущих состояний.
  • Переименовали PassiveListenerConfig setPassiveGoals в 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 для получения потока данных, отменив регистрацию функции обратного вызова, когда она больше не нужна.