Здоровье Connect

Позволяет разработчикам читать или записывать записи о здоровье и фитнесе пользователя.
Последнее обновление Стабильный выпуск Кандидат на выпуск Бета-версия Альфа-релиз
4 сентября 2024 г. - - - 1.1.0-альфа08

Запрос доступа к типам данных

Чтобы помочь нам повысить конфиденциальность и безопасность пользователей, разработчики, интегрирующиеся с Health Connect , должны объявить доступ на чтение и/или запись для типов данных , которые используют их приложения. Разработчики должны включать допустимые варианты использования типов данных, которые они используют, в зависимости от цели приложения. Для получения дополнительной информации посетите раздел «Предоставление информации для формы декларации приложений Health» и «Health Connect by Android Permissions» .

Объявление зависимостей

Чтобы добавить зависимость от работоспособности, необходимо добавить в свой проект репозиторий Google Maven. Для получения дополнительной информации прочтите репозиторий Google Maven .

Добавьте зависимости для нужных вам артефактов в файл build.gradle для вашего приложения или модуля:

классный

dependencies {
    // Use to implement health connects
    implementation "androidx.health.connect:connect-client:1.1.0-alpha09"
}

Котлин

dependencies {
    // Use to implement health connects
    implementation("androidx.health.connect:connect-client:1.1.0-alpha09")
}

Дополнительные сведения о зависимостях см. в разделе Добавление зависимостей сборки .

Обратная связь

Ваши отзывы помогают сделать Jetpack лучше. Дайте нам знать, если вы обнаружите новые проблемы или у вас есть идеи по улучшению этой библиотеки. Пожалуйста, ознакомьтесь с существующими проблемами в этой библиотеке, прежде чем создавать новую. Вы можете добавить свой голос к существующей проблеме, нажав кнопку со звездочкой.

Создать новую задачу

Дополнительную информацию см. в документации по системе отслеживания проблем .

Тестирование Health Connect, версия 1.0

Версия 1.0.0-альфа01

4 сентября 2024 г.

androidx.health.connect:connect-testing:1.0.0-alpha01 выпущен. Версия 1.0.0-alpha01 содержит эти коммиты .

Новые возможности

Библиотека тестирования Health Connect упрощает создание автоматических тестов. Вы можете использовать эту библиотеку, чтобы проверить поведение вашего приложения и убедиться, что оно правильно реагирует на необычные случаи, которые сложно протестировать вручную.

Вы можете использовать библиотеку для создания локальных модульных тестов, которые обычно проверяют поведение классов вашего приложения, взаимодействующих с клиентом Health Connect.

Точкой входа в библиотеку является класс FakeHealthConnectClient , который вы используете в тестах для замены HealthConnectClient . Он имеет следующие особенности:

  • Представление записей в памяти, позволяющее вставлять, удалять, удалять и читать их.
  • Генерация токенов изменений и отслеживание изменений
  • Пагинация записей и изменений
  • Ответы агрегирования поддерживаются заглушками.
  • Позволяет любой функции генерировать исключения
  • FakePermissionController , который можно использовать для эмуляции проверок разрешений.

Изменения API

  • Добавить FakeHealthConnectClient e8469
  • Добавьте переопределения заглушки для FakeHealthConnectClient e8469.

Версия 1.1

Версия 1.1.0-альфа08

4 сентября 2024 г.

androidx.health.connect:connect-client:1.1.0-alpha08 , androidx.health.connect:connect-client-external-protobuf:1.1.0-alpha08 и androidx.health.connect:connect-client-proto:1.1.0-alpha08 выпущены. Версия 1.1.0-alpha08 содержит эти коммиты .

Изменения API

  • Установите значение по умолчанию для переменной функций в HealthConnectClient . ( I788dc )
  • Добавьте API для проверки доступности функций. ( Иедд43 )

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

  • Возвращает SDK_UNAVAILABLE в HealthConnectClient.getSdkStatus() , когда HealthConnectManager имеет значение null в U+ 5802f
  • Добавьте переопределения toString в RecordClasses aa5dc.
  • Убрано ручное определение доступа к API новой платформы, поскольку это происходит автоматически посредством моделирования API при использовании R8 с AGP 7.3 или новее (например, R8 версии 3.3) и для всех сборок при использовании AGP 8.1 или новее (например, D8 версии 8.1). Клиентам, не использующим AGP, рекомендуется выполнить обновление до D8 версии 8.1 или более поздней. Более подробную информацию можно найти в этой статье . ( If6b4c , b/345472586 )

Версия 1.1.0-альфа07

10 января 2024 г.

Выпущен androidx.health.connect:connect-client:1.1.0-alpha07 . Версия 1.1.0-alpha07 содержит эти коммиты.

Изменения API

  • Возвращает SDK_UNAVAILABLE когда #getSdkStatus вызывается из контекста пользователя профиля. ( I91df3 )
  • Удалить SleepStageRecord . ( /If6ada )

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

  • Выбрасывайте RemoteException вместо IllegalStateException при сбоях привязки. ( ID2233 )

Версия 1.1.0-альфа06

18 октября 2023 г.

Выпущен androidx.health.connect:connect-client:1.1.0-alpha06 . Версия 1.1.0-alpha06 содержит эти коммиты.

Изменения API

  • Делает определения recordingMethod общедоступными. ( I401fb )

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

  • Добавьте документацию для маршрута тренировки, указав, что местоположение должно быть до окончания сеанса. ( 0e51e6 )

Версия 1.1.0-альфа05

4 октября 2023 г.

Выпущен androidx.health.connect:connect-client:1.1.0-alpha05 . Версия 1.1.0-alpha05 содержит эти коммиты.

Изменения API

  • Добавлено намерение, которое осуществляет переход к экрану управления данными Health Connect. ( Ibf591 )
  • Удалены устаревшие методы в AggregationResult . ( Идбда9 )
  • Добавлен удобный API для создания ReadRecordsRequest , а также удаления и чтения записей с reified типом записи. ( Если58а5 )

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

  • Исправлена ​​ошибка в Android 14, из-за которой пустые поля питания возвращались как Double.MIN_VALUE . ( 1аа1d1 )
  • Исправлена ​​ошибка в Android 14, из-за которой агрегирование по месячному/годовому периоду вызывало исключение в ответе из-за того, что сегменты имели одинаковое время начала/окончания. ( 281313 )

Версия 1.1.0-альфа04

6 сентября 2023 г.

Выпущен androidx.health.connect:connect-client:1.1.0-alpha04 . Версия 1.1.0-alpha04 содержит эти коммиты.

Изменения API

  • Только для Java: переименуйте поле getHasMore() в ChangesResponse в hasMore() . ( I80695 )
  • Выровняйте проверку HealthPermissionsRequestContract#createIntent во всех версиях Android. Контракт проверяет, что все разрешения являются разрешениями, связанными со здоровьем. ( I143fc )

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

  • Исправлено исключение, возникающее при создании ExerciseSessionRecord с помощью ExerciseRoute содержащего пустой список местоположений. ( I45c16 )
  • Обновите документацию SleepSessionRecord и пример кода для чтения сеансов сна. ( Idf0de )

Версия 1.1.0-альфа03

26 июля 2023 г.

Выпущен androidx.health.connect:connect-client:1.1.0-alpha03 . Версия 1.1.0-alpha03 содержит эти коммиты.

Новые возможности

  • API для чтения и записи маршрутов упражнений:
    • Добавлено ExerciseRouteResult в ExerciseSessionRecord
    • Добавлен ExerciseRouteRequestContract

Изменения API

  • Добавлена ExerciseRouteResult и его подклассы: Data , NoData и ConsentRequiredStates .
  • Добавлен ExerciseRoute как отдельный класс, который содержит данные о местоположении для маршрута. ( I22eed )
  • Добавлен PERMISSION_WRITE_EXERCISE_ROUTE . ( I92fc4 )
  • Добавлен ExerciseRouteRequestContract , добавлен HealthPermissionsRequestContract . ( Ief0e5 )

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

  • Исправлено построение энергии в килоджоулях ( Ie8791 ).

Версия 1.1.0-альфа02

21 июня 2023 г.

Выпущен androidx.health.connect:connect-client:1.1.0-alpha02 . Версия 1.1.0-alpha02 содержит эти коммиты.

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

  • Исправлена ​​утечка HealthDataSdkService ( Ia3ba5 )
  • Всегда перенаправляйте на правильный клиент HealthConnect при запросе разрешений на Android U. ( I6415a )

Версия 1.1.0-альфа01

7 июня 2023 г.

Выпущен androidx.health.connect:connect-client:1.1.0-alpha01 . Эта версия разработана во внутренней ветке.

Новые возможности

  • Поддержка версии Health Connect для платформы Android 14. Этот SDK является обязательным условием для Android 14. Без него приложения не смогут интегрироваться с Health Connect на Android 14.
  • Добавлен метод записи для записи метаданных.

Изменения API

  • Изменения API сеанса:
    • В SleepSessionRecord добавлены различные стадии сна и удален SleepStageRecord .
    • Добавлены ExerciseLap и ExerciseSegment в ExerciseSessionRecord .
  • Периодические и ежедневные ограничения скорости (включая ограничения памяти) для операций чтения, журнала изменений, вставки и удаления.
  • Добавлена ​​проверка для всех полей NutritionRecord .
  • Добавлена ​​проверка HeartRateVariabilityRmssdRecord .
  • Удалены два устаревших API: HealthConnectClient#isProviderAvailable и HealthConnectClient#isApiSupported .

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

  • Исправлено равенство юнитов для всех типов юнитов, равенство больше не зависит от типа, используемого для инициализации юнитов. Например, Mass.grams(1000) теперь равна Mass.kilograms(1).

Версия 1.0

Версия 1.0.0-альфа11

22 февраля 2023 г.

Выпущен androidx.health.connect:connect-client:1.0.0-alpha11 . Версия 1.0.0-alpha11 содержит эти коммиты.

Изменения API

  • Добавление намерения использовать для открытия Health Connect. ( Ic8055 )
  • Удаление некоторых типов упражнений. Используйте EXERCISE_TYPE_STRENGTH_TRAINING , EXERCISE_TYPE_HIGH_INTENSITY_INTERVAL_TRAINING или EXERCISE_TYPE_CALISTHENICS вместо удаленных типов. ( I7291c )
  • Добавление нового API sdkStatus() , который объединяет два устаревших API isSdkSupported() и isProviderAvailable() . ( Iac89d )
  • Изменение API, которые принимают providerPackageName , чтобы они принимали одну строку, а не список. ( I67e0f )

Версия 1.0.0-альфа10

25 января 2023 г.

Выпущен androidx.health.connect:connect-client:1.0.0-alpha10 . Версия 1.0.0-alpha10 содержит эти коммиты.

Изменения API

  • ExerciseEventRecord , ExerciseLapRecord , ExerciseRepititionRecord и SwimmingStrokesRecord больше не поддерживаются как RecordTypes . Их больше нельзя записывать или читать из HealthConnect . Удалите любые ссылки на эти типы данных из интеграции HealthConnect . ( If7ca2 )
  • Изменения в API разрешений для приема разрешений в новом строковом формате. Это изменение также требует изменения декларации разрешений на стандартный формат разрешений Android. ( Ib0a2f )

Версия 1.0.0-альфа09

11 января 2023 г.

Выпущен androidx.health.connect:connect-client:1.0.0-alpha09 . Версия 1.0.0-alpha09 содержит эти коммиты.

Новые возможности

  • В Health Connect добавлены два новых типа данных о женском здоровье: IntermenstrualBleedingRecord и MenstruationPeriodRecord . MenstruationFlow.ENUMs бывают легкими, средними, тяжелыми и неизвестными.

Изменения API

  • Добавлена IntermenstrualBleedingRecord ( Idc470 ).
  • Добавлен тип записи MenstruationPeriodRecord ( Iea545 ).

Версия 1.0.0-альфа08

7 декабря 2022 г.

Выпущен androidx.health.connect:connect-client:1.0.0-alpha08 . Версия 1.0.0-alpha08 содержит эти коммиты.

Изменения API

  • Добавляет BodyWaterMass , HeartRateVariabilityRmssdRecord в качестве новых поддерживаемых типов записей. ( Ifd58f )
  • Удаляет HipCircumferenceRecord , WaistCircumferenceRecord как поддерживаемые RecordTypes . ( I62fb9 )
  • MenstruationFlowRecord.flow изменен со stringdef на intdefs . ( I0369f )
  • Поля записи, подобные перечислению, изменены со Strings на Integers для повышения производительности. ( I3b295 )
  • Изменены перечисляемые поля ExerciseSession , ExerciseRepetitions , SleepStage со строковых на целочисленные типы. ( Id32a9 )
  • ExerciseSessionRecord.ACTIVE_TIME_TOTAL->EXERCISE_DURATION_TOTAL . ( I5d7bd )
  • Добавляет «Необычный» в перечисления CervicalMucus . Переименуйте «Прозрачный» в «Яичный белок» для большей конкретики. Изменены CervicalMucus#appearance и #sensation со StringDefs на IntDefs. ( I3ac51 )
  • StringDef из перечисления DeviceTypes теперь перемещен в IntDefs в разделе Device. ( I3abf3 )
  • Добавляет HealthConnectClient.isApiSupported() , который возвращает false в версиях SDK без совместимых реализаций. Переименован HealthConnectClient.isAvailable->isProviderAvailable . ( I3674e )

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

  • Запретить значения HeartRate beatsPerMinute меньше 1 ( I6052f )
  • Добавление аннотации @JvmDefaultWithCompatibility ( I8f206 )

Версия 1.0.0-альфа07

24 октября 2022 г.

Выпущен androidx.health.connect:connect-client:1.0.0-alpha07 . Версия 1.0.0-alpha07 содержит эти коммиты.

Изменения API

  • Аргументы записи без значений по умолчанию помещаются перед аргументами со значениями по умолчанию. Для единообразия аргументы Instant и ZoneOffset всегда размещаются в самом начале. ( Id618c )
  • Переименуйте HealthConnectClient.getOrCreate#packageNames providerPackageNames . ( Id81e4 )

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

  • Добавляет проверки значений полей записи. Крайне неправильные значения вызовут исключение IllegalArgumentExceptions , если предоставленное значение выйдет за разумные пределы. ( Ie171d )
  • Проверяет время начала записи перед временем окончания, если это необходимо. ( I02460 )

Версия 1.0.0-альфа06

5 октября 2022 г.

Выпущен androidx.health.connect:connect-client:1.0.0-alpha06 . Версия 1.0.0-alpha06 содержит эти коммиты.

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

  • Улучшает жизненный цикл сервисного подключения. ( Если2bd5 )
  • Исправлена ​​ошибка сбоя NPE при возникновении исключения при подключении к службе. ( I13546 )

Версия 1.0.0-альфа05

21 сентября 2022 г.

Выпущен androidx.health.connect:connect-client:1.0.0-alpha05 . Версия 1.0.0-alpha05 содержит эти коммиты.

Изменения API

  • Metadata.uid переименован в Metadata.id и последовательно используется терминология recordId во всех связанных API CRUD. ( I3d1d2 )
  • PermissionController.createRequestPermissionActivityContract стал статическим методом вместо метода экземпляра. Переименован в PermissionController.createRequestPermissionResultContract . ( Icd2fe )
  • Добавлен тип единицы измерения BloodGlucose для BloodGlucoseRecord ( I97678 ).
  • Переименуйте MenstruationRecord -> MenstruationFlowRecord . ( I3b88e )

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

  • Исправлено непреднамеренное поведение, не распространяющее статистику переднего плана из клиентского процесса. ( Еслиb44c )

Версия 1.0.0-альфа04

24 августа 2022 г. выпущен androidx.health.connect:connect-client:1.0.0-alpha04 . Версия 1.0.0-alpha04 содержит эти коммиты.

Миграция на `androidx.health.connect

Начиная с версии 1.0.0-alpha04, androidx.health:health-connect-client был перенесен в androidx.health.connect:connect-client . Предыдущие версии Health Connect можно найти на странице androidx.health .

Для миграции просто измените импорт зависимостей с androidx.health:health-connect-client:1.0.0-alpha03 на androidx.health.connect:connect-client:1.0.0-alpha04 .

Новые возможности

  • Включены дополнительные журналы отладки, встроенные для вызовов API ( ссылка ).

Изменения API

  • Метаданные clientId переименованы в clientRecordId , clientVersion в clientRecordVersion . ( связь )
  • Пользовательский интерфейс метаданных стал более дружелюбным к читателям и больше не допускает обнуления. ( связь )
  • В единицу массы добавлены фунты ( ссылка ).
  • DeletionChange.deleteUid переименован в uid ( ссылка ).
  • Переименуйте разрешение -> HealthPermission. Это позволяет избежать двусмысленности с разрешениями Android Framework. ( связь )

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

  • Исправлены проблемы регрессии с неправильными единицами измерения калорий в Energy ( ссылка ).
  • Исправлена ​​проблема регрессии с агрегацией для нескольких типов записей ( ссылка ).