【发布时间】:2016-11-21 10:39:27
【问题描述】:
我目前正在尝试实现一个 Google Fit Android 应用程序。我想读取应用程序创建的聚合值。这适用于除一个数据源之外的所有数据源,即 com.google.cycling.wheel_revolution.rpm。
在聚合数据类型 (https://developers.google.com/fit/android/data-types#data_types_for_aggregate_data) 的开发人员文档中,没有专门用于车轮旋转的聚合数据类型。
如果我尝试聚合车轮旋转数据类型,我会收到以下错误:
Unsupported input data type specified for aggregation: DataType{com.google.cycling.wheel_revolution.rpm[rpm(f)]}
是否可以聚合车轮旋转?如果不是,我如何定义一个自定义数据类型,其中包含类似于com.google.heart_rate.bpm 和com.google.heart_rate.summary 的最小、最大、平均值的自定义聚合数据类型
最好的问候 马库斯
PS:如果我尝试使用 REST API 进行聚合,我会收到一个包含空数据点的响应。 这是我的请求正文:
{
"startTimeMillis": 1479678504211,
"endTimeMillis": 1479682677569,
"aggregateBy": [
{
"dataTypeName": ":com.google.cycling.wheel_revolution.rpm.summary",
"dataSourceId": "raw:com.google.cycling.wheel_revolution.rpm:[my_application_id]:"
}
],
"bucketByTime": {
"durationMillis": 60000
}
}
【问题讨论】:
-
从您的错误“不支持为聚合wheel_revolution 指定的输入数据类型”中,这意味着您的数据不支持此聚合。因此,请确保您的输入数据有效,并且在此 docu 中声明,对于此聚合,您应该未设置开始时间。在计算 RPM 之前,不同的数据源将监控 RPM 的时间不同。这应该作为数据源的一部分而不是数据点来表示。
标签: android google-fit