I am trying to get weight from google fit using DataReadRequest with bucket time.
I am able to get weight data like below and store data in my collection.
/**
* 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 am fetching data from using field name and field value and store it in the model class. But when I am getting weight data I am not able to fetch weight unit.
Please, anyone, help me this how to fetch weight unit with weight.