健康连接
最新更新 | 稳定版本 | 候选版本 | 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 更改
版本 1.1
版本 1.1.0-alpha08
2024 年 9 月 4 日
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 更改
错误修复
- 在
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 或更高版本。有关更多详细信息,请参见 这篇文章。(If6b4c、b/345472586)
版本 1.1.0-alpha07
2024 年 1 月 10 日
androidx.health.connect:connect-client:1.1.0-alpha07
已发布。 版本 1.1.0-alpha07 包含这些提交。
API 更改
错误修复
- 在绑定失败时抛出
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 更改
- 仅限 Java:将
ChangesResponse
上的getHasMore()
字段重命名为hasMore()
。(I80695) - 跨 Android 版本对齐
HealthPermissionsRequestContract#createIntent
检查。该契约检查所有权限是否都与健康相关的权限。(I143fc)
错误修复
- 修复使用包含位置空列表的
ExerciseRoute
创建ExerciseSessionRecord
时抛出的异常。(I45c16) - 更新
SleepSessionRecord
文档和示例代码以读取睡眠会话。(Idf0de)
版本 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
及其子类:Data
、NoData
和ConsentRequiredStates
。 - 已添加
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 包含这些提交。
错误修复
版本 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
。 - 已将
ExerciseLap
和ExerciseSegment
添加到ExerciseSessionRecord
中。
- 已将各种睡眠阶段添加到
- 读取、变更日志、插入和删除操作的周期性和每日速率限制(包括内存限制)。
- 已为所有
NutritionRecord
字段添加验证。 - 已为
HeartRateVariabilityRmssdRecord
添加验证。 - 已删除两个已弃用的 API:
HealthConnectClient#isProviderAvailable
和HealthConnectClient#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_TRAINING
、EXERCISE_TYPE_HIGH_INTENSITY_INTERVAL_TRAINING
或EXERCISE_TYPE_CALISTHENICS
代替已删除的类型。(I7291c) - 添加新 API
sdkStatus()
,它将现在已弃用的两个 APIisSdkSupported()
和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 更改
ExerciseEventRecord
、ExerciseLapRecord
、ExerciseRepititionRecord
和SwimmingStrokesRecord
不再作为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 种新的女性健康数据类型:
IntermenstrualBleedingRecord
和MenstruationPeriodRecord
。MenstruationFlow.ENUMs
包括轻度、中度、重度和未知。
API 更改
版本 1.0.0-alpha08
2022 年 12 月 7 日
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) DeviceTypes
枚举的StringDef
现在已移至 Device 下的IntDefs
中。(I3abf3)- 添加了
HealthConnectClient.isApiSupported()
,它在没有兼容实现的 SDK 版本上返回 false。将HealthConnectClient.isAvailable->isProviderAvailable
重命名。(I3674e)
错误修复
版本 1.0.0-alpha07
2022 年 10 月 24 日
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-alpha06
2022 年 10 月 5 日
androidx.health.connect:connect-client:1.0.0-alpha06
已发布。版本 1.0.0-alpha06 包含这些提交。
错误修复
版本 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 框架权限的歧义。(链接)
错误修复