如何在firebase android中检索节点名称和节点属性

如何在firebase android中检索节点名称和节点属性,android,firebase,firebase-realtime-database,firebase-authentication,Android,Firebase,Firebase Realtime Database,Firebase Authentication,请注意,我是firebase的新手,正在尝试获取节点名称,如下所示 我在“用户”节点下有“课程”节点,在“课程”节点下有“不同课程代码”节点。我想要实现的是获取所有课程代码及其课程名称,并将其存储在数组列表中,例如,一个数组列表用于存储课程代码,另一个数组列表用于存储课程名称 下面的代码是我所做的 final ArrayList<String> test=new ArrayList<String>(); myFirebaseRef.child(uid).child("

请注意,我是firebase的新手,正在尝试获取节点名称,如下所示

我在“用户”节点下有“课程”节点,在“课程”节点下有“不同课程代码”节点。我想要实现的是获取所有课程代码及其课程名称,并将其存储在数组列表中,例如,一个数组列表用于存储课程代码,另一个数组列表用于存储课程名称 下面的代码是我所做的

 final ArrayList<String> test=new ArrayList<String>();
myFirebaseRef.child(uid).child("Course").child("CEESE001").addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {

            for (DataSnapshot snapshot : dataSnapshot.getChildren()) {
                courses ok=snapshot.getValue(courses.class);
            test.add(ok.getCourseName());

            }
adapter = new ArrayAdapter<String>(getContext(), android.R.layout.simple_spinner_item, test);

            // Here, set the data in  ListView
            list.setAdapter(adapter);

        }
final ArrayList test=new ArrayList();
myFirebaseRef.child(uid).child(“课程”).child(“CEESE001”).addValueEventListener(新的ValueEventListener()){
@凌驾
公共void onDataChange(DataSnapshot DataSnapshot){
对于(DataSnapshot快照:DataSnapshot.getChildren()){
courses ok=snapshot.getValue(courses.class);
test.add(ok.getCourseName());
}
adapter=newarrayadapter(getContext(),android.R.layout.simple\u微调器\u项,测试);
//在这里,在ListView中设置数据
list.setAdapter(适配器);
}
上面的代码是我尝试过的,但是我需要动态地获取课程代码,而不是静态的课程代码。请告诉我如何做到这一点。

试试这个

    List<String> coursesNames=new ArrayList<String>();
    List<String> coursesCodes=new ArrayList<String>();
    DatabaseReference mDatabase= FirebaseDatabase.getInstance().getReference().child("users").child(uid).child("Course");
    mDatabase.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            for(DataSnapshot snap:dataSnapshot.getChildren()){
                coursesCodes.add(snap.getKey());
                coursesNames.add(snap.child("Course Details").child("courseName").getValue(String.class));
            }
        }

        @Override
        public void onCancelled(DatabaseError databaseError) {

        }
    });
List coursesNames=new ArrayList();
List CourseCodes=新建ArrayList();
DatabaseReference mDatabase=FirebaseDatabase.getInstance().getReference().child(“用户”).child(uid).child(“课程”);
mDatabase.addValueEventListener(新的ValueEventListener(){
@凌驾
公共void onDataChange(DataSnapshot DataSnapshot){
对于(DataSnapshot快照:DataSnapshot.getChildren()){
添加(snap.getKey());
coursesNames.add(snap.child(“课程详细信息”).child(“courseName”).getValue(String.class));
}
}
@凌驾
已取消的公共void(DatabaseError DatabaseError){
}
});

<代码>你想得到所有的课程名称和代码吗?是的,这是我给你的答案,请在正确的情况下把答案标记为正确。