健康

  
通过平台无关的方式构建高性能健康应用。

下表列出了 androidx.health 组中的所有工件。

工件 稳定版 候选版本 Beta 版 Alpha 版
health-services-client - - - 1.0.0-alpha03
health-connect-client - - - 1.0.0-alpha03
此库的最后更新时间:2022 年 7 月 27 日

声明依赖项

如需添加 Health 的依赖项,您必须将 Google Maven 代码库添加到项目中。如需了解详情,请参阅 Google 的 Maven 代码库

在应用或模块的 build.gradle 文件中添加所需工件的依赖项:

Groovy

dependencies {
    implementation "androidx.health:health-services-client:1.0.0-alpha03"
}

Kotlin

dependencies {
    implementation("androidx.health:health-services-client:1.0.0-alpha03")
}

反馈

您的反馈将帮助我们改进 Jetpack。如果您发现了新问题,或对此库的改进有自己的见解,请告诉我们。创建新问题前,请先查看此库中的现有问题。您可以点击星标按钮,为现有问题投票。

创建新问题

如需了解详情,请参阅问题跟踪器文档

Health Connect 客户端版本 1.0

版本 1.0.0-alpha04

2022 年 8 月 24 日

对于版本 1.0.0-alpha04 及更高版本,您可以在 Health Connect 页面中找到版本说明。

版本 1.0.0-alpha03

2022 年 7 月 27 日

发布了 androidx.health:health-connect-client:1.0.0-alpha03版本 1.0.0-alpha03 中包含这些提交内容

新功能

  • 新 API 变更的摘要:向读取、写入、汇总 API 添加了一组单位。应用现在可以使用其选择的单位检索或写入记录(例如对于 NutritionRecord 营养素,使用克或毫克)。

API 变更

  • 修复了各种请求响应对象中的 List<DataOrigin>,使其成为 Set<DataOrigin>。(I42342)
  • 修复了基础总热量的单位:Power->Energy。(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
  • 移动了嵌套在 records 下的软件包元数据。(Ie0835)
  • 所有剩余记录中均使用长度单位 (Ib10dd):
    • ActivityLapRecord
    • ElevationGainedRecord
    • HeightRecord
    • HipCircumferenceRecord
    • WaistCircumferenceRecord
  • 添加了长度单位类型 (Idae39)
  • 更新了 CervicalMucus 说明术语 (I25a2b):
    • CervicalMucus.Amount -> CervicalMucusRecord.Texture
    • CervicalMucus.Appearance -> CervicalMucusRecord.Sensation
  • 为所有记录类名称添加了“Record”后缀 (I1ffc2)

bug 修复

  • 修复了使用发布变种构建 lib 且 minifyEnabled 为 true 时发生的 proguard 问题。(I78933)
  • 隐藏了非公开使用的文档。(I7a08f)
  • 修复了可能有各自 protobuf 依赖项的客户端中的问题。(https://android-review.googlesource.com/c/platform/frameworks/support/+/2105430)

版本 1.0.0-alpha02

2022 年 6 月 1 日

发布了 androidx.health:health-connect-client:1.0.0-alpha02版本 1.0.0-alpha02 中包含这些提交

API 变更

  • 废弃了 AggregationResult 中的 hasMetricgetMetric,添加了包含和获取运算符 (I7cc7c)
  • 添加 OvulationTest.Result.HIGHOvulationTest.Result.INCONCLUSIVE。(I9f9c4)

bug 修复

  • 将 SDK 要求降低到 26。(I6d201)

版本 1.0.0-alpha01

2022 年 5 月 11 日

发布了 androidx.health:health-connect-client:1.0.0-alpha01版本 1.0.0-alpha01 中包含这些提交内容

新功能

  • 提供相关 API,用于读取其他应用分享的健身与健康记录。
  • 提供相关 API,用于写入健身和健康记录以便与其他应用共享。
  • 提供相关 API,用于检索可访问记录的汇总指标。
  • 提供相关 API,用于检索其他应用对记录的增量更改(插入、更新或删除)。
  • 提供相关 API,用于提示用户授予健康权限。
  • 提供相关 API,用于检查权限或撤消已授予的健康权限。

健康服务客户端版本 1.0

版本 1.0.0-alpha03

2021 年 11 月 3 日

发布了 androidx.health:health-services-client:1.0.0-alpha03版本 1.0.0-alpha03 中包含这些提交内容

新功能

  • 如果 IPC 与健康服务 APK 的连接中断,SDK 会自动重新注册测量、运动监听器和被动监控回调注册请求。

API 变更

  • SDK 库的 minSdkVersion 已提升为 API 级别 30,因为健康服务客户端目前仅在 Wear3 上受支持。

版本 1.0.0-alpha02

2021 年 9 月 29 日

发布了 androidx.health:health-services-client:1.0.0-alpha02版本 1.0.0-alpha02 中包含这些提交

API 变更

  • ExerciseClient 现在支持用户提前做好运动准备。这样,客户端就可以在用户开始运动之前,先预热传感器并等待获取 GPS 定位等。
  • 引入了 CumulativeDataPoints 和 StatisticalDataPoints AggregateDataPoint 类,有助于更好地对在用户运动进行过程中跟踪的汇总指标建模。CumulativeDataPoints 包含汇总的区间数据类型的累计值(例如,运动路线的总距离),而 StatisticalDataPoints 模型会汇总采样数据点数据(例如 HeartRateBpm 最小值、最大值和平均值)。这取代了之前的 AGGREGATE_* 数据类型,并可在 ExerciseUpdate 中通过 getLatestAggregateMetrics() 进行访问。AGGREGATE_* 数据类型已不再受支持。
  • PassiveMonitoring 事件已重命名为 PassiveGoals,后者支持用户制定目标,并在每日指标(即 DAILY_STEPS)等数据类型方面达到这些目标时收到通知。
  • 引入了新的类,即 HrAccuracy、LocationAccuracy 和 LocationAvailability,改进了心率、位置信息精确度和位置可用性的建模。
  • 改进了 ExerciseConfig 和全新 PassiveMonitoringConfig 字段的命名方式,并引入了 ExerciseConfig.shouldEnableGps 以请求由 GPS 支持的数据

bug 修复

  • 迁移到了由 proto 支持的 IPC 传输,以提供更好的向后兼容性支持

版本 1.0.0-alpha01

2021 年 5 月 18 日

发布了 androidx.health:health-services-client:1.0.0-alpha01版本 1.0.0-alpha01 中包含这些提交内容

初始版本的功能

Health Services 库为开发者提供了一组统一的 API,以便集成设备专用的传感器实现。该库自动支持 Wear OS 3 模拟器和即将推出的设备,未来还会支持更多平台。该初始版本包含三个顶级 API Surface:ExerciseClientPassiveMonitoringClientMeasureClient

ExerciseClient

ExerciseClient 是专为用于跟踪有效锻炼的应用而设计的,可提供多达 82 种不同的 ExerciseType,例如步行、跑步、舞蹈和水球等。在跟踪这些锻炼时,有 50 种不同的 DataType 可供选择,具体取决于锻炼类型和设备上可用的硬件。如需开始使用,只需执行以下操作即可:在 ExerciseConfig 中指定相关信息,调用 exerciseClient.startExercise 并通过更新监听器监听进度。

PassiveMonitoringClient

如果您的应用可跟踪用户全天的活动,那么 PassiveMonitoringClient 是一个绝佳选择。您可以使用一组 DataType 注册一个 PendingIntent,并唤醒此 intent 来处理批量更改。此外,您也可以指定 Event,例如达到特定步数。

MeasureClient

有时,用户需要衡量当前的指标(例如心率),而不是锻炼时或全天的指标。在这些时候,MeasureClient 是绝佳选择。您只需通过支持的 DataType 注册回调来接收数据流即可;当不再需要回调时,请将其取消注册。