简体   繁体   English

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

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

I'm writing an android application which works with Google Fit APIs to collect daily user's step count.我正在编写一个 android 应用程序,它与 Google Fit API 一起使用来收集每日用户的步数。 I want to get my daily step count.我想知道我每天的步数。 this code return me a whole years step count.这段代码返回了我一整年的步数。

How can I get the Google daily step Count value?如何获得 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)
        })
    }
}

I replaced DataType.TYPE_STEP_COUNT_CUMULATIVE with a DataType.TYPE_STEP_COUNT_DELTA but it doesnoot work.我用 DataType.TYPE_STEP_COUNT_DELTA 替换了 DataType.TYPE_STEP_COUNT_CUMULATIVE 但它不起作用。

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

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