2017-10-05 73 views
0

我想读取firebase数据库中的子节点的值。问题是这些子节点将在运行时添加。所以,我现在不知道孩子的名字。在firebase中读取动态儿童的值android

是否可以从这些子节点读取公共值?该结构与图像相同。蓝色是动态子节点,红色是要读取的值。

Database Structure

+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) { 

         } 
        }); 

此监听器为您提供了有关有用节点下儿童流量的大量信息。在这个例子中,你会得到添加的孩子的名字。