需要 Scripting PRO
HealthQuantitySample 表示一条健康数量类型的数据样本,例如一次心率测量、记录的步数或摄入的热量。它包含了关于该数据的类型、数值、时间区间、单位和可选的元数据信息。
该类是两个更具体子类的基类:
HealthCumulativeQuantitySample(累计型样本)HealthDiscreteQuantitySample(离散型样本)此类用于:
| 属性名 | 类型 | 描述 |
|---|---|---|
uuid |
string |
样本的唯一标识符 |
quantityType |
HealthQuantityType |
健康指标的类型 |
startDate |
Date |
测量开始时间 |
endDate |
Date |
测量结束时间 |
count |
number |
样本数量(通常为 1) |
metadata |
Record<string, any> | null |
可选的元数据 |
quantityValue(unit: HealthUnit): number以指定单位返回该样本的数值。
参数:
unit: 单位对象(如 HealthUnit.kilocalorie())返回:
示例:
HealthQuantitySample.create(options): HealthQuantitySample | null创建一条新的健康样本数据。
参数结构:
返回:
HealthQuantitySample 实例,否则为 null示例:
HealthCumulativeQuantitySample 表示累计型的健康数据,例如总步数、总距离或总能量消耗等。
| 属性名 | 类型 | 描述 |
|---|---|---|
hasUndeterminedDuration |
boolean |
是否为不确定时长的样本 |
sumQuantity(unit: HealthUnit): number以指定单位返回该样本的累计值。
示例:
quantityValue(unit: HealthUnit): number返回值同 sumQuantity(),用于兼容统一接口。
HealthDiscreteQuantitySample 表示一系列离散时间点上的测量值,例如心率、步数或温度变化等。
| 属性名 | 类型 | 描述 |
|---|---|---|
mostRecentQuantityDateInterval |
HealthDateInterval | null |
最近一次数值对应的时间范围 |
| 方法名 | 描述 |
|---|---|
averageQuantity(unit) |
返回平均值 |
maximumQuantity(unit) |
返回最大值 |
minimumQuantity(unit) |
返回最小值 |
mostRecentQuantity(unit) |
返回最近一次记录的值(若存在) |
示例:
| 场景 | 推荐使用的类 | 示例 |
|---|---|---|
| 记录或读取单条测量数据 | HealthQuantitySample |
手动输入体重 |
| 处理总量(如总步数、总能量) | HealthCumulativeQuantitySample |
1 小时内的总步数 |
| 进行统计分析(最小值/最大值等) | HealthDiscreteQuantitySample |
心率记录的最大/平均值 |
HealthUnit: 表示测量单位(如 kg、bpm、kcal 等)HealthQuantityType: 指定测量的数据类型(如步数、心率等)HealthDateInterval: 表示一个时间区间(start + end + duration)