读取firebase android中动态子元素的值

时间:2017-10-05 12:27:44

标签: android firebase firebase-realtime-database

我正在尝试从firebase数据库中的子节点读取值。问题是这些子节点将在运行时添加。所以,我现在还不知道孩子的名字。

是否可以从这些子节点读取常用值?结构如图像所附。蓝色是动态子节点,红色是要读取的值。

Database Structure

1 个答案:

答案 0 :(得分:1)

如果我正确理解了您的问题,则会动态添加蓝色子项,并且您希望在运行时获取它们的名称。请尝试以下代码:

 DatabaseReference databaseReference=FirebaseDatabase.getInstance().getReference().child("data")
                    .child("idsToTrack").child(data_unique_id);

            databaseReference.addChildEventListener(new ChildEventListener() {

                        @Override
                        public void onChildAdded(DataSnapshot dataSnapshot, String s) {
                            String childName=dataSnapshot.child("name").getValue(String.class);

                        }

                        @Override
                        public void onChildChanged(DataSnapshot dataSnapshot, String s) {

                        }

                        @Override
                        public void onChildRemoved(DataSnapshot dataSnapshot) {

                        }

                        @Override
                        public void onChildMoved(DataSnapshot dataSnapshot, String s) {

                        }

                        @Override
                        public void onCancelled(DatabaseError databaseError) {

                        }
                    });

此侦听器为您提供有关所需节点下的子流量的大量信息。在此示例中,您将获取添加的子项的名称。

相关问题