如何使用Google Fit Android SDK从所有数据源读取数据?

时间:2019-02-07 11:59:26

标签: android google-api google-fit google-fit-sdk

我需要帮助来了解文档。我正在开发一个android应用程序。我的应用程序的目的是显示用户在过去n天内执行的步骤总数。这些步骤将包括用户已使用可穿戴设备或多个移动计步器同步到Google Fit Store的任何step_count。

我正尝试将android sdk与历史记录api一起用于从Google Fit商店中检索数据。 但是,似乎我没有获取所有数据。我只能为用户当前的移动计步器获取step_count。

在这里要进一步说明的是用例示例: 例如 App A :将10个步骤同步到Google Fit Store,时间为T1到T2 应用B :将另外10个步骤同步到Google Fit Store T2至T3 使用 App C :在我的应用中,我想显示时间T1到T3的总步数吗?

适合android sdk允许提取用户执行的所有步骤吗?还是仅提供与用户当前设备​​相关的步骤?

在这里供我进一步参考的是我用来获取用户数据的代码。

fun getReadDataRequestBuilderAggregated(startDate: Date, endDate: Date): DataReadRequest? {
        val cal = Calendar.getInstance()
        cal.time = startDate.setDayStartTime()
        var startTime = cal.timeInMillis
        cal.time = endDate
        var endTime = cal.timeInMillis
        return if (startTime>endTime) {
            null
        } else {

            return DataReadRequest.Builder()
                    .aggregate(DataType.TYPE_CALORIES_EXPENDED, DataType.AGGREGATE_CALORIES_EXPENDED)
                    .aggregate(DataType.TYPE_STEP_COUNT_DELTA, DataType.AGGREGATE_STEP_COUNT_DELTA)
                    .bucketByTime(TIME_PERIOD_GROUP_DATA_DAYS, TimeUnit.DAYS)
                    .enableServerQueries()
                    .setTimeRange(startTime, endTime, TimeUnit.MILLISECONDS).build()
        }
    }  

1 个答案:

答案 0 :(得分:0)

就我而言,我没有按照documentation中的说明向特定数据类型添加订阅。如果要从健身商店中读取数据,则必须添加订阅。创建此订阅后,将同步从您的源记录的数据,以及从其他源检索的数据。