подходит не мог получить ежедневный шаг - PullRequest
0 голосов
/ 08 мая 2018

Я трийн, чтобы получать ежедневные шаги от подходящего API. Но это дает мне шаги с неправильным периодом времени.

например, я ожидаю предоставить данные шагов ниже периода

06.05.2018 00.00 - 07.05.2018 00.00

07.05.2018 00.00 - 08.05.2018 00.00

08.05.2018 00.00 - 08.05.2017 текущий час


но это дает мне:

07.05.2018 17.13 - 08.05.2018 11.20, поэтому я не могу получить данные шага за сегодня. есть данные шага (08.05.2018 00.00 - 08.05.2018 текущий час), но я не могу получить их из-за проблемы периода времени

что не так с моим кодом. Вот кодовый блок:

 final DataSource ds = new DataSource.Builder()
                                    .setAppPackageName("com.google.android.gms")
                                    .setDataType(DataType.TYPE_STEP_COUNT_DELTA)
                                    .setType(DataSource.TYPE_DERIVED)
                                    .setStreamName("estimated_steps")
                                    .build();


                            DataReadRequest readRequest = new DataReadRequest.Builder()
                                    .aggregate(ds,DataType.AGGREGATE_STEP_COUNT_DELTA)
                                    .bucketByTime(1, TimeUnit.DAYS)
                                    .setTimeRange(startTime, endTime, TimeUnit.MILLISECONDS)
                                    .build();

                            Fitness.getHistoryClient(MainActivity.activity, GoogleSignIn.getLastSignedInAccount(MainActivity.activity))
                                    .readData(readRequest)
                                    .addOnSuccessListener(new OnSuccessListener<DataReadResponse>()
                                    {
                                        @Override
                                        public void onSuccess(DataReadResponse dataReadResponse)
                                        {
                                            for (Bucket bucket : dataReadResponse.getBuckets())
                                            {
                                                for (DataSet dataSet : bucket.getDataSets())
                                                {


                                                    for (DataPoint dataPoint : dataSet.getDataPoints())
                                                    {

                                                        Crashlytics.log(Log.ASSERT, "Start:", Utils.formatDDMMYYYYHHmm(dataPoint.getStartTime(TimeUnit.MILLISECONDS)));
                                                        Crashlytics.log(Log.ASSERT, "End:", Utils.formatDDMMYYYYHHmm(dataPoint.getEndTime(TimeUnit.MILLISECONDS)));
                                                        Crashlytics.log(Log.ASSERT, "Steps: ", dataPoint.getValue(dataPoint.getDataType().getFields().get(0)).toString());
                                                        User.current().userFitnessData.addStepCountsFromDataPointFromFit(dataPoint);
                                                    }
                                                }
                                            }

                                            Crashlytics.log(Log.ASSERT, "Todays Steps", User.current().userFitnessData.getTodaysSteps() + "");

                                            // User.current().userFitnessData.logStepsTable();
                                            stepsDataReceivedCallBack.onStepsDataReceived();
                                            syncToServer(meResponse.body(), response.body(), lastLogDate);
                                        }
                                    });
...