健康连接

  
允许开发人员读取或写入用户的健康和健身记录。
最新更新 稳定版本 候选版本 Beta 版本 Alpha 版本
2024 年 9 月 4 日 - - - 1.1.0-alpha08

请求访问数据类型

为了帮助我们加强用户隐私和安全性,与健康连接集成的开发人员必须声明对数据类型的读取和/或写入访问权限,这些数据类型被他们的应用程序使用。开发人员必须根据应用程序的目的,为他们使用的数据类型提供有效的用例。有关更多信息,请访问为健康应用程序声明表单提供信息Android 权限的健康连接

声明依赖项

要添加对健康的依赖项,您必须将 Google Maven 存储库添加到您的项目中。有关更多信息,请阅读Google 的 Maven 存储库

在您的应用程序或模块的 build.gradle 文件中添加您需要的工件的依赖项

Groovy

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

Kotlin

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

有关依赖项的更多信息,请参阅添加构建依赖项

反馈

您的反馈有助于改进 Jetpack。如果您发现新问题或有改进此库的想法,请告诉我们。在您创建新问题之前,请查看此库中的现有问题。您可以通过点击星形按钮对现有问题进行投票。

创建新问题

有关更多信息,请参阅问题跟踪器文档

健康连接测试版 1.0

版本 1.0.0-alpha01

2024 年 9 月 4 日

androidx.health.connect:connect-testing:1.0.0-alpha01 已发布。版本 1.0.0-alpha01 包含这些提交

新功能

健康连接测试库简化了自动化测试的创建。您可以使用此库来验证应用程序的行为,并验证其对难以手动测试的非常规情况的响应是否正确。

您可以使用该库创建本地单元测试,这些测试通常会验证您应用中与 Health Connect 客户端交互的类的行为。

该库的入口点是 FakeHealthConnectClient 类,您可以在测试中使用它来替换 HealthConnectClient。它具有以下功能:

  • 记录的内存中表示形式,因此您可以插入、删除、删除和读取它们。
  • 生成更改令牌和更改跟踪。
  • 记录和更改的分页。
  • 使用存根支持聚合响应。
  • 允许任何函数抛出异常。
  • 一个 FakePermissionController,可用于模拟权限检查。

API 更改

  • 添加 FakeHealthConnectClient e8469
  • FakeHealthConnectClient 添加存根覆盖 e8469

版本 1.1

版本 1.1.0-alpha08

2024 年 9 月 4 日

androidx.health.connect:connect-client:1.1.0-alpha08androidx.health.connect:connect-client-external-protobuf:1.1.0-alpha08androidx.health.connect:connect-client-proto:1.1.0-alpha08 已发布。版本 1.1.0-alpha08 包含 这些提交

API 更改

  • HealthConnectClient 中为 features 变量设置默认值。(I788dc
  • 添加一个 API 来检查功能可用性。(Iedd43

错误修复

  • HealthConnectManager 为空时,在 U+ 中的 HealthConnectClient.getSdkStatus() 中返回 SDK_UNAVAILABLE。(5802f
  • RecordClasses 添加 toString 覆盖。(aa5dc
  • 已删除对新平台 API 的手动访问概述,因为当使用 AGP 7.3 或更高版本(例如 R8 版本 3.3)与 R8 一起使用时,以及当使用 AGP 8.1 或更高版本(例如 D8 版本 8.1)时,对所有构建,这会通过 API 建模自动发生。建议不使用 AGP 的客户端更新到 D8 版本 8.1 或更高版本。有关更多详细信息,请参见 这篇文章。(If6b4cb/345472586

版本 1.1.0-alpha07

2024 年 1 月 10 日

androidx.health.connect:connect-client:1.1.0-alpha07 已发布。 版本 1.1.0-alpha07 包含这些提交。

API 更改

  • 当从配置文件用户上下文调用 #getSdkStatus 时,返回 SDK_UNAVAILABLE。(I91df3
  • 删除 SleepStageRecord。(/If6ada

错误修复

  • 在绑定失败时抛出 RemoteException 而不是 IllegalStateException。(Id2233

版本 1.1.0-alpha06

2023 年 10 月 18 日

androidx.health.connect:connect-client:1.1.0-alpha06 已发布。 版本 1.1.0-alpha06 包含这些提交。

API 更改

  • 使 recordingMethod 定义公开。(I401fb

错误修复

  • 在锻炼路线文档中添加文档,说明位置应在会话结束时间之前。(0e51e6

版本 1.1.0-alpha05

2023 年 10 月 4 日

androidx.health.connect:connect-client:1.1.0-alpha05 已发布。 版本 1.1.0-alpha05 包含这些提交。

API 更改

  • 添加了导航到 Health Connect 数据管理屏幕的意图。(Ibf591
  • 删除了 AggregationResult 中已弃用的方法。(Idbda9
  • 添加了用于创建 ReadRecordsRequest 以及使用具象记录类型删除和读取记录的便利 API。(If58a5

错误修复

  • 修复了 Android 14 中将空营养字段返回为 Double.MIN_VALUE 的错误。(1aa1d1
  • 修复了 Android 14 中按月/年周期聚合由于存储桶具有相同的开始/结束时间而导致响应中抛出异常的错误。(281313

版本 1.1.0-alpha04

2023 年 9 月 6 日

androidx.health.connect:connect-client:1.1.0-alpha04 已发布。 版本 1.1.0-alpha04 包含这些提交。

API 更改

错误修复

版本 1.1.0-alpha03

2023 年 7 月 26 日

androidx.health.connect:connect-client:1.1.0-alpha03 已发布。 版本 1.1.0-alpha03 包含这些提交。

新功能

  • 用于读取和写入锻炼路线的 API
    • 已将 ExerciseRouteResult 添加到 ExerciseSessionRecord
    • 已添加 ExerciseRouteRequestContract

API 更改

  • 已添加 ExerciseRouteResult 及其子类:DataNoDataConsentRequiredStates
  • 已添加 ExerciseRoute 作为独立类,它包含路线的位置数据。(I22eed
  • 已添加 PERMISSION_WRITE_EXERCISE_ROUTE。(I92fc4
  • 已添加 ExerciseRouteRequestContract,已添加 HealthPermissionsRequestContract。(Ief0e5

错误修复

  • 修复了千焦耳能量的构造。(Ie8791

版本 1.1.0-alpha02

2023 年 6 月 21 日

androidx.health.connect:connect-client:1.1.0-alpha02 已发布。 版本 1.1.0-alpha02 包含这些提交。

错误修复

  • 修复了 HealthDataSdkService 泄漏。(Ia3ba5
  • 在 Android U 上请求权限时始终重定向到正确的 HealthConnect 客户端。(I6415a

版本 1.1.0-alpha01

2023 年 6 月 7 日

androidx.health.connect:connect-client:1.1.0-alpha01 已发布。此版本是在内部分支中开发的。

新功能

  • 支持 Android 14 框架版本的 Health Connect。此 SDK 是 Android 14 的先决条件。没有它,应用将无法在 Android 14 上与 Health Connect 集成。
  • 将记录方法添加到记录元数据中。

API 更改

  • 会话 API 更改
    • 已将各种睡眠阶段添加到 SleepSessionRecord 中,并已删除 SleepStageRecord
    • 已将 ExerciseLapExerciseSegment 添加到 ExerciseSessionRecord 中。
  • 读取、变更日志、插入和删除操作的周期性和每日速率限制(包括内存限制)。
  • 已为所有 NutritionRecord 字段添加验证。
  • 已为 HeartRateVariabilityRmssdRecord 添加验证。
  • 已删除两个已弃用的 API:HealthConnectClient#isProviderAvailableHealthConnectClient#isApiSupported

错误修复

  • 已为所有单位类型修复了单位相等性,相等性不再依赖于用于初始化单位的类型。例如,Mass.grams(1000) 现在等于 Mass.kilograms(1)。

版本 1.0

版本 1.0.0-alpha11

2023 年 2 月 22 日

androidx.health.connect:connect-client:1.0.0-alpha11 已发布。 版本 1.0.0-alpha11 包含这些提交。

API 更改

  • 添加了一个意图用于打开 Health Connect。(Ic8055
  • 删除了一些锻炼类型。使用 EXERCISE_TYPE_STRENGTH_TRAININGEXERCISE_TYPE_HIGH_INTENSITY_INTERVAL_TRAININGEXERCISE_TYPE_CALISTHENICS 代替已删除的类型。(I7291c
  • 添加新 API sdkStatus(),它将现在已弃用的两个 API isSdkSupported()isProviderAvailable() 合并在一起。(Iac89d
  • 更改接受 providerPackageName 的 API 以接受单个字符串而不是列表。(I67e0f

版本 1.0.0-alpha10

2023 年 1 月 25 日

androidx.health.connect:connect-client:1.0.0-alpha10 已发布。 版本 1.0.0-alpha10 包含这些提交。

API 更改

  • ExerciseEventRecordExerciseLapRecordExerciseRepititionRecordSwimmingStrokesRecord 不再作为 RecordTypes 支持。它们不能再从 HealthConnect 中写入或读取。从 HealthConnect 集成中删除对这些数据类型的任何引用。(If7ca2
  • 对权限 API 的更改以接受以新字符串格式的权限。此更改还要求将权限声明更改为标准 Android 权限格式。(Ib0a2f

版本 1.0.0-alpha09

2023 年 1 月 11 日

androidx.health.connect:connect-client:1.0.0-alpha09 已发布。 版本 1.0.0-alpha09 包含这些提交。

新功能

  • 为 Health Connect 添加了 2 种新的女性健康数据类型:IntermenstrualBleedingRecordMenstruationPeriodRecordMenstruationFlow.ENUMs 包括轻度、中度、重度和未知。

API 更改

  • 添加了 IntermenstrualBleedingRecord (Idc470)
  • 添加了 MenstruationPeriodRecord 记录类型 (Iea545)

版本 1.0.0-alpha08

2022 年 12 月 7 日

androidx.health.connect:connect-client:1.0.0-alpha08 已发布。版本 1.0.0-alpha08 包含这些提交。

API 更改

  • 添加了 BodyWaterMassHeartRateVariabilityRmssdRecord 作为新的支持记录类型。(Ifd58f)
  • 删除了 HipCircumferenceRecordWaistCircumferenceRecord 作为支持的 RecordTypes。(I62fb9)
  • MenstruationFlowRecord.flowstringdef 更改为 intdefs。(I0369f)
  • 将具有 Strings 的类似枚举的记录字段更改为 Integers 以提高性能。(I3b295)
  • ExerciseSessionExerciseRepetitionsSleepStage 类似枚举的字段从字符串类型更改为整数类型。(Id32a9)
  • ExerciseSessionRecord.ACTIVE_TIME_TOTAL->EXERCISE_DURATION_TOTAL 重命名。(I5d7bd)
  • CervicalMucus 枚举中添加“异常”。将“透明”重命名为“蛋清”以提高特异性。将 CervicalMucus#appearance 和 #sensation 从 StringDefs 更改为 IntDefs。(I3ac51)
  • DeviceTypes 枚举的 StringDef 现在已移至 Device 下的 IntDefs 中。(I3abf3)
  • 添加了 HealthConnectClient.isApiSupported(),它在没有兼容实现的 SDK 版本上返回 false。将 HealthConnectClient.isAvailable->isProviderAvailable 重命名。(I3674e)

错误修复

  • 禁止 HeartRate beatsPerMinute 值小于 1 (I6052f)
  • 添加 @JvmDefaultWithCompatibility 注解 (I8f206)

版本 1.0.0-alpha07

2022 年 10 月 24 日

androidx.health.connect:connect-client:1.0.0-alpha07 已发布。版本 1.0.0-alpha07 包含这些提交。

API 更改

  • 没有默认值的记录参数放在具有默认值的参数之前。为了保持一致性,InstantZoneOffset 参数始终放在最前面。(Id618c)
  • HealthConnectClient.getOrCreate#packageNames 重命名为 providerPackageNames。(Id81e4)

错误修复

  • 添加了记录字段值验证。当提供的值超出合理范围时,极不合理的数值将抛出 IllegalArgumentExceptions。(Ie171d)
  • 在相关情况下,验证记录开始时间是否早于结束时间。(I02460)

版本 1.0.0-alpha06

2022 年 10 月 5 日

androidx.health.connect:connect-client:1.0.0-alpha06 已发布。版本 1.0.0-alpha06 包含这些提交。

错误修复

  • 改进了服务连接生命周期。(If2bd5)
  • 修复了在服务连接中抛出异常时发生的 NPE 崩溃错误。(I13546)

版本 1.0.0-alpha05

2022 年 9 月 21 日

androidx.health.connect:connect-client:1.0.0-alpha05 已发布。版本 1.0.0-alpha05 包含这些提交。

API 更改

  • Metadata.uid 重命名为 Metadata.id,并在相关 CRUD API 中始终使用术语 recordId。(I3d1d2)
  • PermissionController.createRequestPermissionActivityContract 更改为静态方法而不是实例方法。重命名为 PermissionController.createRequestPermissionResultContract。(Icd2fe)
  • BloodGlucoseRecord 添加了 BloodGlucose 单位类型 (I97678)
  • MenstruationRecord 重命名为 MenstruationFlowRecord。(I3b88e)

错误修复

  • 修复了未将前台统计信息从客户端进程传播出去的意外行为。(Ifb44c)

版本 1.0.0-alpha04

2022 年 8 月 24 日 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 更改

  • 将 Metadata 的 clientId 重命名为 clientRecordId,将 clientVersion 重命名为 clientRecordVersion。(链接)
  • 使 Metadata 的 uid 对读者更加友好,不再允许为空。(链接)
  • 将磅添加到质量单位 (链接)
  • DeletionChange.deleteUid 重命名为 uid (链接)
  • 将 Permission 重命名为 HealthPermission。这避免了与 Android 框架权限的歧义。(链接)

错误修复

  • 修复了使用能量时的错误卡路里单位回归问题 (链接)
  • 修复了某些记录类型的聚合回归问题 (链接)