簡體   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