繁体   English   中英

我想从 google fit 获取我的每日步数

[英]i want to get my daily step count from google fit

我正在编写一个 android 应用程序,它与 Google Fit API 一起使用来收集每日用户的步数。 我想知道我每天的步数。 这段代码返回了我一整年的步数。

如何获得 Google 每日步数值?

override fun onConnected(bundle: Bundle?) {
    val dataSourceRequest = DataSourcesRequest.Builder()
        .setDataTypes(DataType.TYPE_STEP_COUNT_CUMULATIVE)
        .setDataSourceTypes(DataSource.TYPE_RAW)
        .build()

    val dataSourcesResultCallback =
        ResultCallback<DataSourcesResult> { dataSourcesResult ->
            for (dataSource in dataSourcesResult.dataSources) {
                if (DataType.TYPE_STEP_COUNT_CUMULATIVE == dataSource.dataType) {
                    registerFitnessDataListener(
                        dataSource,
                        DataType.TYPE_STEP_COUNT_CUMULATIVE
                    )
                }
            }
        }

    Fitness.SensorsApi.findDataSources(
        mApiClient,
        dataSourceRequest
    )
        .setResultCallback(dataSourcesResultCallback)
}

private fun registerFitnessDataListener(dataSource: DataSource, dataType: DataType) {
    val request = SensorRequest.Builder()
        .setDataSource(dataSource)
        .setDataType(DataType.TYPE_STEP_COUNT_CUMULATIVE)
        .setSamplingRate(1, TimeUnit.SECONDS)
        .build()
    Fitness.SensorsApi.add(mApiClient, request, this)
        .setResultCallback { status ->
            if (status.isSuccess) {
                Log.d("GoogleFit", "SensorApi successfully added")
            }
        }
}


override fun onDataPoint(dataPoint: DataPoint) {

    for (field in dataPoint.dataType.fields) {
        val value = dataPoint.getValue(field)
        runOnUiThread(Runnable {
            stepCounterTextView.setText("Field1: " + field.name + " Value1: " + value)
        })
    }
}

我用 DataType.TYPE_STEP_COUNT_DELTA 替换了 DataType.TYPE_STEP_COUNT_CUMULATIVE 但它不起作用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM