Так что я начал с кроличьей дыры Android Health Connect, и все шло отлично, пока не начало давать мне некоторые странные результаты. В настоящее время я использую последнюю версию кандидата на выпуск версии 1.1.0-RC02 и могу подключаться, и результаты запроса просто отлично. Код. < /p>
suspend fun readCaloriesBurned(start: Instant, end: Instant): Energy {
val request = AggregateRequest(
metrics = setOf(TotalCaloriesBurnedRecord.ENERGY_TOTAL),
timeRangeFilter = TimeRangeFilter.between(start, end)
)
val response = healthConnectClient.aggregate(request)
Timber.d(response.toString())
return response[TotalCaloriesBurnedRecord.ENERGY_TOTAL] ?: Energy.calories(0.0)
}
< /code>
Теперь, когда я запускаю, я вижу в консоли ... < /p>
AggregationResult(longValues={}, doubleValues={TotalCaloriesBurned_energy_total=1632.6842894415279}, dataOrigins=[])
< /code>
Показывая, что в общей сложности было сожжено 1632 ккала за этот период (что абсолютно неправильно). < /p>
Теперь, если я изменю этот запрос (сохранить этот начало и окончание датируется тем же, но изменяю тип запроса), я получу совершенно другой результат ... < /p>
and датируется тем же, но изменяю тип запроса), я получу совершенно другой результат ... < /p>
suspend fun readCaloriesBurned(start: Instant, end: Instant): Energy {
val request = ReadRecordsRequest(
recordType = TotalCaloriesBurnedRecord::class,
timeRangeFilter = TimeRangeFilter.between(start, end)
)
val response = healthConnectClient.readRecords(request)
Timber.d("How many records are there? ${response.records.size}")
Timber.d(response.records.toString())
return Energy.calories(0.0)
}
< /code>
Теперь, если я запускаю это, в консоли я вижу ... < /p>
How many records are there? 0
[]
< /code>
Таким образом, выполнение совокупности для сегодняшнего дня (начало дня до настоящего времени) говорит, что я сгорел в общей сложности более 1 миллиона калорий, однако выполнение запроса на чтение записей говорит, что вообще нет записей за тот же период времени (начало дня, чтобы рассчитывать на это). Нужно ли мне отказаться от совокупных запросов все вместе и буквально просто предварительно предварительно
в запросе Read Records? Почему совокупный запрос о том, что я сгорел более миллиона калорий, когда в запросе записей говорится, что записей нет.>
Так что я начал с кроличьей дыры Android Health Connect, и все шло отлично, пока не начало давать мне некоторые странные результаты. В настоящее время я использую последнюю версию кандидата на выпуск версии 1.1.0-RC02 и могу подключаться, и результаты запроса просто отлично. Код. < /p> [code]suspend fun readCaloriesBurned(start: Instant, end: Instant): Energy { val request = AggregateRequest( metrics = setOf(TotalCaloriesBurnedRecord.ENERGY_TOTAL), timeRangeFilter = TimeRangeFilter.between(start, end) ) val response = healthConnectClient.aggregate(request) Timber.d(response.toString()) return response[TotalCaloriesBurnedRecord.ENERGY_TOTAL] ?: Energy.calories(0.0) } < /code> Теперь, когда я запускаю, я вижу в консоли ... < /p> AggregationResult(longValues={}, doubleValues={TotalCaloriesBurned_energy_total=1632.6842894415279}, dataOrigins=[]) < /code> Показывая, что в общей сложности было сожжено 1632 ккала за этот период (что абсолютно неправильно). < /p> Теперь, если я изменю этот запрос (сохранить этот начало и окончание датируется тем же, но изменяю тип запроса), я получу совершенно другой результат ... < /p> and датируется тем же, но изменяю тип запроса), я получу совершенно другой результат ... < /p> suspend fun readCaloriesBurned(start: Instant, end: Instant): Energy { val request = ReadRecordsRequest( recordType = TotalCaloriesBurnedRecord::class, timeRangeFilter = TimeRangeFilter.between(start, end) ) val response = healthConnectClient.readRecords(request) Timber.d("How many records are there? ${response.records.size}") Timber.d(response.records.toString()) return Energy.calories(0.0) } < /code> Теперь, если я запускаю это, в консоли я вижу ... < /p> How many records are there? 0 [] < /code> Таким образом, выполнение совокупности для сегодняшнего дня (начало дня до настоящего времени) говорит, что я сгорел в общей сложности более 1 миллиона калорий, однако выполнение запроса на чтение записей говорит, что вообще нет записей за тот же период времени (начало дня, чтобы рассчитывать на это). Нужно ли мне отказаться от совокупных запросов все вместе и буквально просто предварительно предварительно [/code] в запросе Read Records? Почему совокупный запрос о том, что я сгорел более миллиона калорий, когда в запросе записей говорится, что записей нет.>