gpt4 book ai didi

android - 将 Google Fit 数据提取到 Android 应用程序中

转载 作者:太空宇宙 更新时间:2023-11-03 12:32:56 25 4
gpt4 key购买 nike

我们如何获取特定用户存储在 google fit cloud 中的数据?我尝试使用 History API,但没有显示任何数据。然后我尝试输入一些数据 vai History api,现在我只能通过 history api 查看这些数据,而不是实际存在的完整数据。

DataReadRequest readRequest = queryFitnessData();
DataReadResult dataReadResult =
Fitness.HistoryApi.readData(mClient, readRequest).await(1, TimeUnit.MINUTES);

数据请求是

DataReadRequest readRequest = new DataReadRequest.Builder()

.aggregate(DataType.TYPE_STEP_COUNT_DELTA, DataType.AGGREGATE_STEP_COUNT_DELTA)

.bucketByTime(1, TimeUnit.DAYS)
.setTimeRange(startTime, endTime, TimeUnit.MILLISECONDS)
.build();

最佳答案

根据您的问题,很难知道您期待什么但没有收到。更多详细信息会有所帮助。

我猜这是因为 Fit 正在返回默认的合并步骤流。基本上,如果两个应用在同一 60 分钟内都报告了 1,000 步,Fit 会认为它们是重复的并“合并”它们以获得响应。

尝试丢失桶功能,看看您是否掌握了原始步骤。这段代码对我有用:

    final DataReadRequest readRequest = new DataReadRequest.Builder()
.read(DataType.TYPE_STEP_COUNT_DELTA)
.setTimeRange(startTime, endTime, TimeUnit.MILLISECONDS)
.build();

DataReadResult dataReadResult =
Fitness.HistoryApi.readData(mGoogleApiFitnessClient, readRequest).await(1, TimeUnit.MINUTES);

DataSet stepData = dataReadResult.getDataSet(DataType.TYPE_STEP_COUNT_DELTA);

int totalSteps = 0;

for (DataPoint dp : stepData.getDataPoints()) {
for(Field field : dp.getDataType().getFields()) {
int steps = dp.getValue(field).asInt();

totalSteps += steps;

}
}

关于android - 将 Google Fit 数据提取到 Android 应用程序中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28234525/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com