3

我想从健康应用程序中获取/读取数据。用于HealthDataResolver.AggregateRequest读取不同的数据值,例如总步数和距离。

下面是工作代码,我得到了 startTime 和 endTime 之间的总步数。

HealthDataResolver.AggregateRequest request = new HealthDataResolver.AggregateRequest.Builder()
                    .setDataType(HealthConstants.StepCount.HEALTH_DATA_TYPE)
                    .addFunction(HealthDataResolver.AggregateRequest.AggregateFunction.SUM, HealthConstants.StepCount.COUNT, ALIAS_TOTAL_COUNT)
                    .setTimeGroup(HealthDataResolver.AggregateRequest.TimeGroupUnit.DAILY, 1, HealthConstants.StepCount.START_TIME,
                            HealthConstants.StepCount.TIME_OFFSET, ALIAS_BINNING_TIME)
                    .setLocalTimeRange(HealthConstants.StepCount.START_TIME, HealthConstants.StepCount.TIME_OFFSET,
                            startTime, endTime)
                    .setSort(ALIAS_BINNING_TIME, HealthDataResolver.SortOrder.ASC)
                    .build();

现在的问题是我想获得理想时间/活动所燃烧的距离和卡路里。任何运动或步骤都不会燃烧任何卡路里。请参阅应用程序屏幕截图,所需数据已加框并加下划线。

那么要读取理想时间/活动所消耗的距离和卡路里,如何构造 AggregateRequest ?或者 有计算吗?

帮助将不胜感激。

4

2 回答 2

1

来自维基

任务的代谢当量 (MET) 是一个人在进行某些特定的身体活动时消耗能量的速率与该人的体重之比的客观度量,与参考值相比,按照惯例设定为 3.5 毫升每公斤每分钟的氧气消耗量,大致相当于静坐时消耗的能量。

您可以使用这些代谢率公式之一

修正后的哈里斯-本尼迪克特方程

男性 BMR = 88.362 + (13.397 x 体重 kg) + (4.799 x 身高 cm) - (5.677 x 年龄)

女性 BMR = 447.593 + (9.247 x 体重 kg) + (3.098 x 身高 cm) - (4.330 x 年龄)

于 2019-07-29T03:36:33.893 回答
1

您可以查看keisan这个网站并根据您的需要进行计算。

于 2019-07-29T04:35:07.880 回答