我正在使用ChildEventListener从Firebase数据库中检索数据,以便能够使用Graphview将它们绘制成图形。问题是我不知道如何使OnChildAdded()的“高度”成为一系列Y数据点,以便能够将它们绘制并相互连接到我的折线图图表。我对算法不是很好,所以请您帮我做一个算法或代码,使每个添加的数据/高度成为Y个数据点,以便我可以将一系列点绘制并连接到图形上吗? x个数据点,即“月”。我还可以获取高度)
我现在拥有的就是每当添加另一个高度数据时,它都将替换当前数据点,而不是将它们彼此连接。
//This is the ChildEventListener for retrieving the height data.
lastlastref.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
String heightu = dataSnapshot.child("height").getValue(String.class);
if (heightu!=null){
height = Double.parseDouble(heightu);
plot();
}
}
@Override
public void onChildChanged(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onChildRemoved(DataSnapshot dataSnapshot) {
}
@Override
public void onChildMoved(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
然后这就是绘图方法
public void plot(){
seriesheight = new LineGraphSeries<DataPoint>(new DataPoint[]{
new DataPoint(months,height)
});
seriesheight.setColor(Color.rgb(128,0,0));
seriesheight.setThickness(6);
seriesheight.setTitle("Height");
seriesheight.setDrawDataPoints(true);
seriesheight.setDataPointsRadius(8);
}