Я пишу 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, но он не работает.