如何读取所有子节点值并在Firebase Android中使用它们

时间:2019-03-05 17:44:53

标签: android firebase firebase-realtime-database

这是我在Firebase中的数据库

enter image description here

我想获得课程中学生的价值观 然后我想删除用户中的课程下的课程名称(该用户名与我从Courses / Students获得的值匹配) 点击按钮后

enter image description here

这是我的代码

DatabaseReference mCourseDatabaseReference = FirebaseDatabase.getInstance().getReference().child("Courses").child(courseModel.getCourseName());
    final DatabaseReference mStudentDB = FirebaseDatabase.getInstance().getReference().child("Users");
    mCourseDatabaseReference.child("Students").addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
            for(final DataSnapshot snapshot1 : dataSnapshot.getChildren()){
                final User student = snapshot1.getValue(User.class);
                mStudentDB.orderByChild("userName").equalTo(student.getUserName()).addValueEventListener(new ValueEventListener() {
                    @Override
                    public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                        for (DataSnapshot data: dataSnapshot.getChildren())
                        {
                            String stuserkey = data.getKey();
                            mStudentDB.child(stuserkey).child("Courses").child(courseModel.getCourseName()).removeValue();
                        }
                    }
                    @Override
                    public void onCancelled(@NonNull DatabaseError databaseError) { }});
            }
        }
        @Override
        public void onCancelled(@NonNull DatabaseError databaseError) { }});

但是它不起作用。 你能帮我吗? 谢谢。

0 个答案:

没有答案