Java 如何从Firebase检索数据并将其设置为图表的字符串和int

Java 如何从Firebase检索数据并将其设置为图表的字符串和int,java,android,firebase,firebase-realtime-database,graph,Java,Android,Firebase,Firebase Realtime Database,Graph,早上好/下午好/晚上好,我需要帮助,了解如何将字符串和值的数据从firebase更改为代码或图表。我目前正在使用如图所示的预设值(字符串“skyobject”和int“500300600123”),并希望使用图像中显示的firebase中的数据。感谢您的帮助我是android studio的新手,因此我非常感谢您能为我提供的任何帮助。提前感谢所有帮助我的人 public class MainActivity extends AppCompatActivity { AnyChartView

早上好/下午好/晚上好,我需要帮助,了解如何将字符串和值的数据从firebase更改为代码或图表。我目前正在使用如图所示的预设值(字符串“skyobject”和int“500300600123”),并希望使用图像中显示的firebase中的数据。感谢您的帮助我是android studio的新手,因此我非常感谢您能为我提供的任何帮助。提前感谢所有帮助我的人

public class MainActivity extends AppCompatActivity {
    AnyChartView anyChartView;
    Button btn;
    DatabaseReference reff;


    String [] skyobject = {"sun","moon","stars","planets"};
    int[] datas = {500,300,600,123};


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        anyChartView =( AnyChartView) findViewById(R.id.any_chart_view);
        setupPieChart();


    }
    public void setupPieChart() {
        Pie pie = AnyChart.pie();
        List<DataEntry> dataEntries = new ArrayList<>();

        for (int i=0;i<skyobject.length;i++){
            dataEntries.add(new ValueDataEntry(skyobject[i],datas[i]));


        }
        pie.data(dataEntries);
        anyChartView.setChart(pie);

    }
}
我的数据库的图像

饼图输出的图像


使用下面给定的代码进行编辑,标签出现错误

要获取这些属性的键和值,请使用以下代码行:

DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
ValueEventListener valueEventListener = new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        for(DataSnapshot ds : dataSnapshot.getChildren()) {
            String key = ds.getKey();
            String name = ds.getValue(String.class);
            Log.d("TAG", key + ": " + name);
        }
    }

    @Override
    public void onCancelled(@NonNull DatabaseError databaseError) {
        Log.d(TAG, databaseError.getMessage()); //Don't ignore errors!
    }
};
rootRef.addListenerForSingleValueEvent(valueEventListener);
日志中的结果将是:

Moon: 300
Planets: 123
Stars: 600
Sun:  500

你好,亚历克斯,我已经附上了我的输出图片,我已经尝试了你给出的代码,使我的应用程序崩溃,希望你能帮助我,谢谢you@FritzleeMagno我看不出共享代码与Firebase有何关联。如果应用程序崩溃,会有堆栈跟踪。请在logcat上查找,并将其添加到您的问题中。Ok@AlexMamo I我稍后会尝试编辑。我只想从firebase获取数据,将其用作图表所需的数据,如我共享的图像(最终输出的图像)因为我真的很难理解谢谢你的时间先生,没有看到堆栈跟踪,我帮不了什么忙。请在你添加问题后留下评论。@AlecMamo我已经添加了错误截图,谢谢你有时间帮助我:)我还是这方面的新手
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
ValueEventListener valueEventListener = new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        for(DataSnapshot ds : dataSnapshot.getChildren()) {
            String key = ds.getKey();
            String name = ds.getValue(String.class);
            Log.d("TAG", key + ": " + name);
        }
    }

    @Override
    public void onCancelled(@NonNull DatabaseError databaseError) {
        Log.d(TAG, databaseError.getMessage()); //Don't ignore errors!
    }
};
rootRef.addListenerForSingleValueEvent(valueEventListener);
Moon: 300
Planets: 123
Stars: 600
Sun:  500