gpt4 book ai didi

android - 从 Firebase 读取多个值并放置在折线图中

转载 作者:行者123 更新时间:2023-11-29 23:52:35 25 4
gpt4 key购买 nike

Firebase Database

在我的 firebase 数据库中,我存储了测试分数,如链接图片所示。我希望读取我的 Android 应用程序中的所有百分比并将它们显示在图 TableView 中。我可以成功地从数据库中读取一个值,但在图形中显示实时数据时遇到困难。

谁能帮忙。我尝试的代码如下,我应该怎么做。

subjectRadar 在数据库中的用户名之上。

    DatabaseReference radar = myRef.child("subjectRadar");



radar.child(username).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
GraphView graph = (GraphView) findViewById(R.id.graph);
DataSnapshot ds: dataSnapshot.getChildren();
Double name = (Double) ds.child("mathematics").getValue();
Float i = name.floatValue();
Double name1 = (Double) ds.child("english").getValue();
Float i1 = name1.floatValue();
Double name2 = (Double) ds.child("history").getValue();
Float i2 = name2.floatValue();
Double name3 = (Double) ds.child("geography").getValue();
Float i3 = name3.floatValue();



LineGraphSeries<DataPoint> series = new LineGraphSeries<>(new DataPoint[] {




new DataPoint(1, i),
new DataPoint(2, i1),
new DataPoint(3, i2),
new DataPoint(3, i3)


});
graph.addSeries(series);
}
@Override
public void onCancelled(DatabaseError databaseError) {

}
});

最佳答案

为此您应该使用 HashMap。

像这样将您的数据推送到您的数据库:

HashMap subjects = new HashMap<String, Float>();
subjects.put("mathmatics", 1.3f);
subjects.put("english", 2.3f);
radar.child(username).setValue(subjects); //I think radar.child(username) is you Reference

然后您可以像这样检索您的数据:

radar.child(username).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
HashMap<String, Float> subjects = (HashMap<String, Float>) dataSnapshot.getValue();

int i = 0;
Iterator it = subjects.entrySet().iterator();
while (it.hasNext()) {
i++;
Map.Entry pair = (Map.Entry)it.next();
new DataPoint(i, pair.getValue());
//Add this DataPoint to your Graph
}
}

@Override
public void onCancelled(@NonNull DatabaseError databaseError) {

}
});

希望这对您有所帮助!

关于android - 从 Firebase 读取多个值并放置在折线图中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50728917/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com