Как я могу прочитать данные из всех источников данных, используя Google Fit Android SDK? - PullRequest
0 голосов
/ 07 февраля 2019

Мне нужна помощь в понимании документации.Я разрабатываю приложение для Android.Цель моего приложения - показать пользователю общее количество шагов, которые он / она предпринял за последние n дней.Эти шаги будут включать в себя любой шаг_счетчик, который пользователь синхронизировал с Google Fit Store, используя носимый или несколько мобильных шагомеров.

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

Для дальнейшего пояснения приведен пример варианта использования: Например, Приложение A : синхронизирует 10 шагов в Google Fit Store на время от T1 до T2 Приложение B : синхронизирует еще 10шаги в Google Fit Store от T2 до T3 Использование Приложение C : В моем приложении я хочу показать общее количество шагов за время от T1 до T3?

подходит ли android sdk позволяет получить все шаги, которые выполнил пользователь?Или он предоставляет только шаги, которые относятся к текущему устройству пользователя?

Для дальнейшего ознакомления здесь приведен код, который я использую для извлечения данных пользователя.

fun getReadDataRequestBuilderAggregated(startDate: Date, endDate: Date): DataReadRequest? {
        val cal = Calendar.getInstance()
        cal.time = startDate.setDayStartTime()
        var startTime = cal.timeInMillis
        cal.time = endDate
        var endTime = cal.timeInMillis
        return if (startTime>endTime) {
            null
        } else {

            return DataReadRequest.Builder()
                    .aggregate(DataType.TYPE_CALORIES_EXPENDED, DataType.AGGREGATE_CALORIES_EXPENDED)
                    .aggregate(DataType.TYPE_STEP_COUNT_DELTA, DataType.AGGREGATE_STEP_COUNT_DELTA)
                    .bucketByTime(TIME_PERIOD_GROUP_DATA_DAYS, TimeUnit.DAYS)
                    .enableServerQueries()
                    .setTimeRange(startTime, endTime, TimeUnit.MILLISECONDS).build()
        }
    }  

1 Ответ

0 голосов
/ 08 февраля 2019

В моем случае я не добавил подписку на определенный тип данных, как описано в документации .Необходимо добавить подписку, если вы хотите читать данные из фитнес-магазина.При создании этой подписки будут синхронизироваться данные, записанные из вашего источника, а также извлекать данные из других источников.

...