Google Fit API - 如何从历史客户端读取DataType.TYPE_STEP_COUNT_CADENCE。

问题描述 投票:0回答:1

我想从Google fit API的历史客户端中获取不同类型的数据,现在我可以读取DataType.TYPE_STEP_COUNT_DELTA & DataType.TYPE_DISTANCE_DELTA的历史。

但是我不能有任何关于DataType.TYPE_STEP_COUNT_CADENCE的数据,这个类型的数据集从来没有包含任何数据点。

谁能帮我解决这个问题?

我是这样做的。

请求:

Fitness.getHistoryClient(context, account)
            .readData(DataReadRequest.Builder()
                        .read(DataType.TYPE_STEP_COUNT_CADENCE)
                        .read(DataType.TYPE_STEP_COUNT_DELTA)
                        .read(DataType.TYPE_DISTANCE_DELTA)
                        .setTimeRange(
                            configuration.startTime.timeInMillis,
                            configuration.endTime.timeInMillis,
                            TimeUnit.MILLISECONDS
                        )
                        .bucketByTime(1, TimeUnit.HOURS)
                        .enableServerQueries()
                        .build()
                )
                .addOnSuccessListener { response ->
                    liveDataUpdates.value = PedometerSensorData.fromBuckets(response.buckets)
                }

Parsing Data:

fun fromBuckets(buckets: List<Bucket>): List<PedometerSensorData> {

        ...

        buckets.forEach { bucket ->
            bucket.dataSets.forEach { dataSet ->
                if(dataSet.dataType == DataType.TYPE_STEP_COUNT_CADENCE) {
                    Log.d("TYPE_STEP_COUNT_CADENCE", "STEP COUNT CADENCE IS EMPTY ${dataSet.isEmpty}")
                }

                ...

            }
    }
android google-fit
1个回答
0
投票

Fit在计算节奏时,唯一的计算方法是取点的类型为 DataType.TYPE_STEP_COUNT_DELTA 并将该值除以该点的持续时间。

所以,如果你想获得节奏数据,我建议在一个适当的时间间隔内进行。

© www.soinside.com 2019 - 2024. All rights reserved.