首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >每分钟步骤的google fit请求

每分钟步骤的google fit请求
EN

Stack Overflow用户
提问于 2016-07-26 09:25:41
回答 1查看 576关注 0票数 0

我试图读取过去5天中每分钟数据的步骤,但它每分钟只返回1天的步骤。下面是我用来获取每分钟最后5天的步骤的代码。

  1. 最后5天的步骤
  2. 每分钟步数 displayMinData() { Calendar cal = Calendar.getInstance();Date now = new Date();cal.setTime(now);long endTime = cal.getTimeInMillis();int lastSyncDays=5;cal.add(Calendar.DAY_OF_YEAR,lastSyncDays);long startTime = cal.getTimeInMillis();try { String strEndTime = millisToHMS(endTime);String strStartTime= millisToHMS(startTime);} catch(ParseException pe) {} java.text.DateFormat dateFormat =DateFormat.getDateInstance(){}java.text.DateFormat dateFormat= DateFormat.getDateInstance();Log.e(“历史记录”,“范围开始:”+ dateFormat.format(startTime));Log.e(“历史记录”,“范围结束:”+ dateFormat.format(endTime));//检查DataReadRequest readRequest = new DataReadRequest.Builder() .aggregate(DataType.TYPE_STEP_COUNT_DELTA,DataType.AGGREGATE_STEP_COUNT_DELTA) .bucketByTime(1,TimeUnit.MINUTES) .setTimeRange(startTime,endTime,TimeUnit.MILLISECONDS) .build(),DataReadResult dataReadResult = Fitness.HistoryApi.readData(mGoogleApiClient,dataReadResult).build(1,en19#)//用于聚合数据if (dataReadResult.getBuckets().size() > 0) {Log.e(“历史记录”,“桶数:”+ dataReadResult.getBuckets().size());for (桶桶: dataReadResult.getBuckets()) { List dataSets = bucket.getDataSets();for (DataSet dataSet : dataSets) { showDataSet(dataSet);}}//用于非聚合数据,如果(dataReadResult.getDataSets().size() > 0) {Log.e(“历史记录”,“返回的数量:”+ dataReadResult.getDataSets().size());for (DataSet dataSet : dataReadResult.getDataSets()) { showDataSet(dataSet);}
EN

回答 1

Stack Overflow用户

发布于 2016-07-26 14:31:54

因此,我对相同的查询做了一些测试,发现了一些可能有助于深入探索的东西。

首先,我在您的代码中看到的一个问题是,您要求的不是过去5天的步骤计数,而是接下来的5天。将5天的时间加到当前时间,而不是减去它。

代码语言:javascript
复制
int lastSyncDays=5;
cal.add(Calendar.DAY_OF_YEAR, lastSyncDays);

它应该是

代码语言:javascript
复制
int lastSyncDays=5;
cal.add(Calendar.DAY_OF_YEAR, -lastSyncDays);

在我的测试中,您可以查询的数据量似乎是有限的。在过去的一天中,当要求每分钟累积步骤计数时,结果会很快返回,比1分钟的等待时间早得多。我试了两天,请求超时。我试了两天,有5分钟的等待时间,请求仍然超时,所以我不认为这是问题。

我试过的另一件事是2天的累积步数,但是用2分钟的水桶而不是1分钟。结果很快就回到了最初的1天要求。我再次尝试了4天的请求,使用4分钟的桶,结果是一样的。

我不知道我们可以查询哪些内容的确切限制,而且Google的文档在这方面似乎没有提供太多帮助。但是也许您可以创建5个单独的请求,每个请求为期1天,并将数据组合起来供您使用。一个请求似乎足够快,但我不确定使用多个请求对一个请求是否有任何后果(如果一个请求可以工作)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38585971

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档