Health Platform API 是一个 Android API,为开发者提供用于读取、写入和分享用户历史健康和健身数据的界面。借助 Health Platform,用户可以控制自己的数据。用户可以控制哪些应用对不同类型的数据具有读取或写入权限。Health Platform API 数据类型包括高度、心率等。
Health Platform API 为用户提供存储和共享机制,可允许用户选择哪些应用可以访问和显示其个人健康和健身数据。这样一来,应用开发者便可以向用户显示更全面的健康视图,并允许用户更有效地监控其数据。
Health Platform API 软件开发者套件为 Android 应用开发者提供在特定三星设备上访问用户健康和健身数据所需的一切,并允许应用执行批量操作,例如插入、删除和读取数据。
开始使用
使用 Health Platform 时,请注意以下几个要点:
- 客户端应用必须从用户处获取精细化的读取或写入权限。
- 此后,用户可以随时拒绝权限或撤消权限。
- Health Platform API 仅支持特定的三星设备。
HealthDataClient
是 Health Platform 的客户端和 Health Platform 的入口点。
下图显示了开发者必须遵循的必要集成步骤:
版本文件
Health Platform V1 版本包含以下内容:
- 客户端 SDK:将此 SDK 添加到您的应用中以使用 Health Platform API。SDK 是一个 Maven 代码库,您可以直接将其添加到应用的 Gradle build 文件中。
安装 Health Platform
按照以下步骤安装 Health Platform:
在应用的根 build.gradle
文件中,添加代码库,如以下示例所示:
allprojects {
...
repositories {
...
google()
}
}
在模块的 build.gradle
文件中,添加 Health Platform SDK 的依赖项,如以下示例所示:
dependencies {
…
implementation 'com.google.android.libraries.healthdata:health-data-api:1.0.0-alpha01'
}
数据
Health Platform 会存储健康与健身数据,并对其进行结构化处理。它还会考虑不同类型数据的衡量方式之间的核心差异。例如,心率测量会立即执行,但步数测量要经过一段时间。
下面介绍 Health Platform 中的核心对象及其差异:
RawData
:测量和数据记录。DataType
:常见健康和健身数据类型(例如心率、体脂或体温)及其格式(例如字段、只读、可选)的说明符。SampleData
:一个RawData
对象,它是瞬时测量值,例如心率、血压或跑步速度。IntervalData
:一个RawData
对象,在一段时间内的累计测量值,例如行走步数、距离或消耗卡路里数。SeriesData
:一个RawData
对象,用于封装一段时间内的一系列测量值。SeriesData
尤其适用于高频传感器数据,例如活动时段的连续心率采样。
这三个 RawData
类均对应于 DataType
的特定子类:SampleData
、IntervalData
和 SeriesData
分别对应于 SampleDataType
、IntervalDataType
和 SeriesDataType
。
每个 RawData
对象在插入时都会由 Health Platform 分配一个唯一标识符 (UID)。您可以使用此 UID 在读取、更新或删除请求中引用特定的 RawData
对象。
数据类型
Health Platform 包含通常用于健康与健身应用的各种数据类型。使用可用数据类型存储的数据可让用户全面了解其历史健康和健身数据,并深入分析其日常活动。
每种数据类型都由其数据格式定义,其中包括:
- 字段:与数据类型相关联的特定字段或通用字段。例如,血氧饱和度 (SpO2) 数据类型具有“标题”“备注”和“百分比”等字段。
- 类型:长整型、双精度型、字符串型或枚举型。
- 属性:只读、必需、可选或验证范围。
数据类型列表
了解可用数据类型以充分利用 Health Platform。 Health Platform 支持下表中显示的数据类型。数据类型按照其格式(示例、间隔或系列)进行归类。
SampleData
类型:
DataType.BasalMetabolicRateDataType |
BASAL_METABOLIC_RATE |
必需 |
DataType.BloodGlucoseDataType |
BLOOD_GLUCOSE |
必需和可选 |
DataType.BloodPressureDataType |
BLOOD_PRESSURE |
必需和可选 |
DataType.BodyFatDataType |
BODY_FAT |
必需 |
DataType.BodyTemperatureDataType |
BODY_TEMPERATURE |
必需和可选 |
DataType.BoneMassDataType |
BONE_MASS |
必需 |
DataType.CervicalMucusDataType |
CERVICAL_MUCUS |
可选 |
DataType.CervicalPositionDataType |
CERVICAL_POSITION |
可选 |
DataType.CyclingPedalingCadenceDataType |
CYCLING_PEDALING_CADENCE |
必需 |
DataType.DateOfBirthDataType |
DATE_OF_BIRTH |
只读 |
DataType.GenderDataType |
GENDER |
只读 |
DataType.HeartRateDataType |
HEART_RATE |
必需 |
DataType.HeightDataType |
HEIGHT |
必需 |
DataType.HipCircumferenceDataType |
HIP_CIRCUMFERENCE |
必需 |
DataType.HrvDifferentialIndexDataType |
HRV_DIFFERENTIAL_INDEX |
必需 |
DataType.HrvRmssdDataType |
HRV_RMSSD |
必需 |
DataType.HrvSDataType |
HRV_S |
必需 |
DataType.HrvSd2DataType |
HRV_SD2 |
必需 |
DataType.HrvSdannDataType |
HRV_SDANN |
必需 |
DataType.HrvSdnnDataType |
HRV_SDNN |
必需 |
DataType.HrvSdnnIndexDataType |
HRV_SDNN_INDEX |
必需 |
DataType.HrvSdnnIndexDataType |
HRV_SDNN_INDEX |
必需 |
DataType.HrvSdsdDataType |
HRV_SDSD |
必需 |
DataType.HrvTinnDataType |
HRV_TINN |
必需 |
DataType.LeanBodyMassDataType |
LEAN_BODY_MASS |
必需 |
DataType.LocationDataType |
LOCATION |
必需 |
DataType.MenstruationDataType |
MENSTRUATION |
可选 |
DataType.OvulationTestDataType |
OVULATION_TEST |
必需 |
DataType.OxygenSaturationDataType |
OXYGEN_SATURATION |
必需 |
DataType.PaceDataType |
PACE |
必需 |
DataType.PowerDataType |
POWER |
必需 |
DataType.RespiratoryRateDataType |
RESPIRATORY_RATE |
必需 |
DataType.RestingHeartRateDataType |
RESTING_HEART_RATE |
必需 |
DataType.SexualActivityDataType |
SEXUAL_ACTIVITY |
必需 |
DataType.SpeedDataType |
SPEED |
必需 |
DataType.StepsCadenceDataType |
STEPS_CADENCE |
必需 |
DataType.Vo2MaxDataType |
VO2_MAX |
必需和可选 |
DataType.WaistCircumferenceDataType |
WAIST_CIRCUMFERENCE |
必需 |
DataType.WeightDataType |
WEIGHT |
必需 |
IntervalData
类型:
DataType.ActiveEnergyDataType |
ACTIVE_ENERGY_BURNED |
必需 |
DataType.ActiveTimeDataType |
ACTIVE_TIME |
只读 |
DataType.ActivityEventDataType |
ACTIVITY_EVENT |
必需 |
DataType.ActivityLapDataType |
ACTIVITY_LAP |
可选 |
DataType.ActivitySessionDataType |
ACTIVITY_SESSION |
必需 |
DataType.BasalEnergyDataType |
BASAL_ENERGY_BURNED |
只读 |
DataType.DistanceDataType |
DISTANCE |
必需 |
DataType.ElevationGainedDataType |
ELEVATION_GAINED |
必需 |
DataType.FloorsClimbedDataType |
FLOORS_CLIMBED |
必需 |
DataType.HydrationDataType |
HYDRATION |
必需 |
DataType.NutritionDataType |
NUTRITION |
可选 |
DataType.RepetitionsDataType |
REPETITIONS |
必需 |
DataType.SleepSessionDataType |
SLEEP_SESSION |
可选 |
DataType.SleepStageDataType |
SLEEP_STAGE |
必需 |
DataType.StepsDataType |
STEPS |
必需 |
DataType.SwimmingStrokesDataType |
SWIMMING_STROKES |
必需和可选 |
DataType.TotalEnergyDataType |
TOTAL_ENERGY_BURNED |
只读 |
SeriesData
类型:
DataType.CyclingPedalingCadenceSeriesDataType |
CYCLING_PEDALING_CADENCE |
必需 |
DataType.HeartRateSeriesDataType |
HEART_RATE |
必需 |
DataType.LocationSeriesDataType |
LOCATION |
必需 |
DataType.PaceSeriesDataType |
PACE |
必需 |
DataType.PowerSeriesDataType |
POWER |
必需 |
DataType.SpeedSeriesDataType |
SPEED |
必需 |
DataType.StepsCadenceSeriesDataType |
STEPS_CADENCE |
必需 |
开发者函数
下面介绍了 Health Platform 中提供的一组标准数据函数。该平台针对原始数据提供了标准的插入、更新和删除功能。
读取 AggregatedData
该平台允许客户端对以下 AggregatedData
类型应用聚合函数:
StatisticalData
:提供一组SampleData
或SeriesData
中的平均值、最小值或最大值,例如活动时段的最小心率和最大心率。CumulativeData
:提供IntervalData
值的总和,例如每日间隔内的总步数。CountData
:提供底层RawData
对象数量的简单计数,例如某一周的活动时段数。可以为示例、间隔和系列数据类型计算计数数据。
连接到 Health Platform API
HealthDataClient
是 Health Platform API 的入口点。
以下步骤介绍了如何连接到 Health Platform:
- 使用
HealthDataService.getClient
创建新的HealthDataClient
实例。 - 然后,客户端应用必须使用
requestPermissions (Set)
方法向用户请求权限。
HealthDataClient
会自动管理它与底层存储层的关联,并处理传出请求和传入响应的所有进程间通信 (IPC) 及序列化进程。
为您推荐
- 注意:未启用 JavaScript 时,系统会显示链接文字
- 活跃数据和进行中的运动
- 被动数据更新
- 在 Wear OS 上使用 Jetpack Compose