2017-07-21 66 views
0

我想从我的火力数据库中获取smth3的参考如何让孩子火力数据库

|smth1 
---|smth2 
    ---|smth3 
     ---|smth4 
     ---|smth5 

代码的参考:

DatabaseReference mDatabase = FirebaseDatabase.getInstance().getReference().child("smth1") 
     .child("smth2"); 
mDatabase.addValueEventListener(new ValueEventListener() { 
      @Override 
      public void onDataChange(DataSnapshot dataSnapshot) { 
       int count = 0; 
       DataSnapshot needSnapshot = null; 
       for (DataSnapshot snapshot : dataSnapshot.getChildren()){      
         needSnapshot = snapshot; 
         if(count == getPosition()){ 
          break; 
         } 
         count++; 

       } 


       mDatabase.child(needSnapshot.getKey()).removeValue(); 
       notifyItemRemoved(getPosition()); 
       notifyItemRangeChanged(getPosition(), getItemCount()); 
      } 

      @Override 
      public void onCancelled(DatabaseError databaseError) { 

      } 
     }); 

这个代码总是删除smth2。

越来越基准后,我想与所有的孩子们将其删除和值 请帮助加入这个依赖于你的应用程序级的建造得到的smth3

回答

0

首先参考你所需要的实时数据库添加到您的应用程序.gradle文件:

compile 'com.google.firebase:firebase-database:11.0.2' 

然后你就可以读/写任何东西到你的数据库是这样的:

private DatabaseReference mDatabase; 

mDatabase = FirebaseDatabase.getInstance().getReference(); 

mDatabase.child("smth1").child("smth2").child("smth3").removeValue(); 

这是我们将记录在here

2

Firebase数据库仅存储值及其关联路径。如果给定路径下没有值,则该路径会自动删除。由于smth3smth2下的唯一值,因此删除smth3也将删除smth2

这个逻辑与smth2是在smth3下写入值时自动创建的事实是一致的。路径会根据需要自动创建,并在空时删除。

相关问题