Если я правильно понимаю, вы хотите запросить документы в коллекции BDAndCarbohydrate
, а затем нанести значение glucoseAmount
на currentDateAndTime
в виде линейного графика.
В этом случае сначала запросите документы отсортировано по currentDateAndTime, а затем проведите итерацию по результату, чтобы создать точки данных для каждого документа, а затем добавьте эти точки данных в свою серию.
List<DataPoint> datapoints = new ArrayList();
Query query = firestore.collection("BDAndCarbohydrate")
.orderBy("currentDateAndTime");
query.get().addOnSuccessListener(new OnSuccessListener<QuerySnapshot>() {
@Override
public void onSuccess(QuerySnapshot querySnapshot) {
Log.i(TAG, "Successfully fetched data from firestore");
int index = 0;
for (QueryDocumentSnapshot document : querySnapshot.getResult()) {
Map data = document.getData();
Double glucoseAmount = data.get("glucoseAmount");
datapoints.add(new DataPoint(glucoseAmount, index));
index++;
}
}
});
//Add the datapoints to the series here..
Вы можете использовать где / startAfter / limit et c. в этом запросе, чтобы отфильтровать некоторые документы, если это необходимо.
Я не проверял этот код, поэтому предположим, что он является псевдокодом, и при необходимости измените его.