请是 firebase 的新手,我正在尝试获取如下所示的节点名称 My database structure
我在用户节点下有一个节点类(class),在类(class)节点下有不同的类(class)代码节点。我想要实现的是获取所有类(class)代码及其类(class)名称并将其存储在数组列表中,例如一个数组列表用于存储类(class)代码,另一个用于存储类(class)名称 下面的代码是我所做的
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);
}
上面的代码是我试过的,但我需要动态获取类(class)代码而不是放置静态类(class)代码,请问我该如何实现。
最佳答案
试试这个
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) {
}
});
关于android - 如何在 firebase android 中检索节点名称和节点属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43301752/