我正在使用Google Fit历史记录客户端从用户读取多种数据类型:
historyClient.readDailyTotal(TYPE_STEP_COUNT_DELTA)
historyClient.readDailyTotal(TYPE_DISTANCE_DELTA)
historyClient.readDailyTotal(TYPE_CALORIES_EXPENDED)
每个调用都有其自己的成功/失败回调(addOnFailureListener
,addOnSuccessListener
)。如何将该呼叫“分组”并等待所有数据可用?应该我使用asynctask还是什么?你有例子吗?
尝试使用适应性历史记录客户端的readData方法。
此示例可以为您提供帮助:
val startTime = Calendar.getInstance().apply {
time = Date()
add(Calendar.DAY_OF_WEEK, -1)
}.timeInMillis
val endTime = Calendar.getInstance().apply {
time = Date()
}.timeInMillis
historyClient.readData(DataReadRequest.Builder()
.read(DataType.TYPE_STEP_COUNT_DELTA)
.read(DataType.TYPE_DISTANCE_DELTA)
.read(DataType.TYPE_CALORIES_EXPENDED)
.setTimeRange(
startTime,
endTime,
TimeUnit.MILLISECONDS
)
.bucketByTime(10, TimeUnit.MINUTES)
.enableServerQueries()
.build()
)