[英]How to delete whole key data in firebase database?
我使用 Firebase 制作應用程序。 我的數據存儲結構是-
我在另一個活動中調用主題和描述來展示它們。 我在該活動中添加了一個按鈕,用於刪除上圖中顯示的特定密鑰(-L6g7ttOxr ... 突出顯示的部分)數據。 我在特定列表項的第二項活動中成功獲得了該密鑰以提供數據庫參考。
public void deleteCurrentMemo(){
AlertDialog.Builder alert = new AlertDialog.Builder(
DisplayMemo.this);
alert.setTitle("Delete Memo");
alert.setMessage("Are you sure you want delete current Memo?");
Toast.makeText(this,key,Toast.LENGTH_SHORT).show();
alert.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
mFirebaseDatabase = FirebaseDatabase.getInstance();
mMemoDatabaseReference = mFirebaseDatabase.getReference().child("memos").child(key);
mMemoDatabaseReference.removeValue();
finish();
}
});
alert.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
alert.show();
}
上面的代碼是在調用刪除按鈕的第二個活動中。 現在如何刪除完整的關鍵數據?
您需要將備忘錄的密鑰傳遞給第二個活動。
通常這很容易,因為當您從 Firebase 讀取數據時,您已經獲得了密鑰。 只需傳遞主題和訂閱第二個活動,然后進入deleteCurrentMemo
。
通過這種方式,我已經成功刪除了子節點。
N:B 您必須需要要刪除的節點的密鑰。
database.getReference().child("Groups").child(groupItem.getGroupkey()).removeValue().addOnSuccessListener(new OnSuccessListener<Void>() {
@Override
public void onSuccess(Void aVoid) {
new CustomMessage(GroupDetailsActivity.this, "Successfully deleted");
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Customlog.showlogD("ERROR_MSG",e.getMessage());
}
})
;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.