Google Fit ждет нескольких результатов - PullRequest
0 голосов
/ 14 марта 2020

Я использую клиент истории Google Fit для чтения нескольких типов данных от пользователя:

historyClient.readDailyTotal(TYPE_STEP_COUNT_DELTA)
historyClient.readDailyTotal(TYPE_DISTANCE_DELTA)
historyClient.readDailyTotal(TYPE_CALORIES_EXPENDED)

Каждый вызов имеет свой собственный обратный вызов при успехе / неудаче (addOnFailureListener, addOnSuccessListener). Как я могу «сгруппировать» этот вызов и ждать, пока ВСЕ данные будут доступны? Shoul Я использую Asynctask или что? У вас есть пример?

1 Ответ

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

Попробуйте использовать метод 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()
    )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...