я хочу получить мой ежедневный счет шагов от Google Fit - PullRequest
0 голосов
/ 02 марта 2020

Я пишу android приложение, которое работает с API Google Fit для сбора ежедневного количества шагов пользователя. Я хочу получить мой ежедневный счетчик шагов. этот код возвращает мне количество шагов за годы.

Как получить значение числа шагов в 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_CUMULATIVE на DataType.TYPE_STEP_COUNT_DELTA, но он не работает.

1 Ответ

0 голосов
/ 03 марта 2020

Посетите https://developers.google.com/android/reference/com/google/android/gms/fitness/request/SessionReadRequest для получения ежедневного количества шагов, прочитанного

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...