我是Android Studio的新手,我想知道是否有一种方法可以从Firebase Firestore数据库中检索特定数据,并将该数据呈现为折线图。
我要做的就是显示线图中的Double的葡萄糖量。
如果有人可以帮助我,将不胜感激。
在下面,我显示了我开始使用的代码:
public class Chart extends AppCompatActivity {
private FirebaseFirestore firestore = FirebaseFirestore.getInstance();
private CollectionReference ref = (CollectionReference) firestore .collection("BGAndCarbohydrate");
FirebaseAuth auth;
String userID;
GraphView graph;
LineGraphSeries series;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_blood_glucose_chart);
firebaseAuth = FirebaseAuth.getInstance();
firebaseFirestore = FirebaseFirestore.getInstance();
userID = firebaseAuth.getCurrentUser().getUid();
graph = (GraphView) findViewById(R.id.graph);
series = new LineGraphSeries();
graph.addSeries(series);
}
}
非常感谢。
如果我理解正确,您想查询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..
如果需要,可以在该查询中使用where / startAfter / limit等来过滤掉一些文档。
我没有测试此代码,因此请假定它是伪代码并根据需要进行修改。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句