如何从Firebase检索数据并将其显示到graphview android?

时间:2019-02-14 09:41:48

标签: android firebase android-graphview

我正在使用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);
}

0 个答案:

没有答案