Как получить единицу веса из ответа Google Fit - PullRequest
2 голосов
/ 30 апреля 2019

Я пытаюсь получить вес в Google Fit, используя DataReadRequest со временем корзины.

Я могу получить данные о весе, как показано ниже, и сохранить данные в моей коллекции.

 /**
 * Method is  use to read google fit response and store in collection
 *
 * @param dataReadResult google fit response
 */
private void readResponse(DataReadResponse dataReadResult) {
    ArrayList<ActivityLogModel> activityLogModels = new ArrayList<>();

    if (dataReadResult.getBuckets().size() > 0) {
        for (int i = 0; i < dataReadResult.getBuckets().size(); i++) {
            ActivityLogModel activityLogModel = new ActivityLogModel();
            activityLogModel.setType(dataReadResult.getBuckets().get(i).getActivity());
            activityLogModel.setStartTime(dateTimeFormat.format(dataReadResult.getBuckets().get(i).getStartTime(TimeUnit.MILLISECONDS)));
            activityLogModel.setEndTime(dateTimeFormat.format(dataReadResult.getBuckets().get(i).getEndTime(TimeUnit.MILLISECONDS)));
            ArrayList<FitnessDataTypeModel> datasetModels = new ArrayList<>();


            for (int j = 0; j < dataReadResult.getBuckets().get(i).getDataSets().size(); j++) {

                if (dataReadResult.getBuckets().get(i).getDataSets() != null) {
                    FitnessDataTypeModel dataTypeModel = new FitnessDataTypeModel();
                    ArrayList<DataPointModel> dataPointModels = new ArrayList<>();
                    for (DataPoint dataPoint : dataReadResult.getBuckets().get(i).getDataSets().get(j).getDataPoints()) {





                        ArrayList<FieldModel> fieldModels = new ArrayList<>();
                        DataPointModel dataPointModel = new DataPointModel();
                        dataPointModel.setStartTime(dateTimeFormat.format(dataPoint.getStartTime(TimeUnit.MILLISECONDS)));
                        dataPointModel.setEndTime(dateTimeFormat.format(dataPoint.getEndTime(TimeUnit.MILLISECONDS)));
                        dataPointModel.setType(dataPoint.getDataType().getName());


                        for (Field field : dataPoint.getDataType().getFields()) {



                            FieldModel fieldModel = new FieldModel(field.getName(), "" + dataPoint.getValue(field));

                            fieldModels.add(fieldModel);

                        }
                        dataPointModel.setFieldModels(fieldModels);
                        dataPointModels.add(dataPointModel);
                    }
                    if (dataPointModels.size() > 0) {
                        dataTypeModel.setDataPointModels(dataPointModels);

                    }
                    datasetModels.add(dataTypeModel);

                }

            }

            activityLogModel.setActivityModel(datasetModels);

            activityLogModels.add(activityLogModel);
        }

    }

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

Пожалуйста, кто-нибудь, помогите мне, как получить единицу веса с весом.

...