2017-07-21 62 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下寫入值時自動創建的事實是一致的。路徑會根據需要自動創建,並在空時刪除。

相關問題