在使用HistoryAPI获取旧数据时遇到问题。我想要每个小时的步骤,并制作图表以使其可视化。
问题是,当我运行查询(DataReadRequest)时,结果是最后一条记录,而不是所有请求的记录。
我给你代码和数据照片。
public DataReadRequest queryFitnessData(Date startTime, Date endTime) {
long startTimeMilli = startTime.getTime();
long endTimeMilli = endTime.getTime();
DataReadRequest readRequest =
new DataReadRequest.Builder()
.aggregate(TYPE_STEP_COUNT_DELTA, DataType.AGGREGATE_STEP_COUNT_DELTA)
.bucketByTime(1, TimeUnit.HOURS)
.setTimeRange(startTimeMilli, endTimeMilli, TimeUnit.MILLISECONDS)
.build();
return readRequest;
}
日志是这样的:
I / System.out:开始时间:2019年1月9日8:00:00结束时间:2019年1月9日9:00:00 AM步骤:0
I / System.out:开始时间:2019年1月9日9:00:00结束时间:2019年1月9日10:00:00 AM步骤:0
I / System.out:开始时间:2019年1月9日10:00:00结束时间:2019年1月9日11:00:00 AM步骤:0
I / System.out:开始时间:2019年1月9日11:00:00结束时间:2019年1月9日12:00:00 PM步骤:172
I / System.out:开始时间:2019年1月9日1:00:00 PM结束时间:2019年1月9日2:00:00 PM步骤:0
I / System.out:开始时间:2019年1月9日12:00:00结束时间:2019年1月9日1:00:00 PM步骤:0
我的数据从10:00到12:00是345步。
它应该返回类似的内容:
I / System.out:开始时间:2019年1月9日10:00:00结束时间:2019年1月9日11:00:00 AM步骤:173
I / System.out:开始时间:2019年1月9日11:00:00结束时间:2019年1月9日12:00:00 PM步骤:172