Java 应用内删除Firebase记录
希望在一个小问题上得到帮助: 我试图通过Android应用程序删除Firebase数据库中存储的单一记录 目前,当单击delete按钮时,所有项目都被删除,而不是我单击的单个记录 为了完整起见,我还包括了我的Java 应用内删除Firebase记录,java,android,firebase,Java,Android,Firebase,希望在一个小问题上得到帮助: 我试图通过Android应用程序删除Firebase数据库中存储的单一记录 目前,当单击delete按钮时,所有项目都被删除,而不是我单击的单个记录 为了完整起见,我还包括了我的updateMaintenance方法,该方法非常有效。正如您将在updateMaintenance方法中看到的,我在mAuth.getCurrentUser()中使用了基于用户的身份验证-我希望在deleteMaintenance方法中也使用此身份验证 我相信这只是一个添加一点点代码的例子
updateMaintenance
方法,该方法非常有效。正如您将在updateMaintenance
方法中看到的,我在mAuth.getCurrentUser()
中使用了基于用户的身份验证-我希望在deleteMaintenance
方法中也使用此身份验证
我相信这只是一个添加一点点代码的例子,但不太确定从哪里开始。提前谢谢
private void deleteMaintenance(String maintenanceId) {
DatabaseReference drMaintenance = FirebaseDatabase.getInstance().getReference("maintenance").child(maintenanceId);
FirebaseUser user = mAuth.getCurrentUser();
String uid = user.getUid();
databaseMaintenance.child(uid).removeValue();
Toast.makeText(this, "Maintenance record has been deleted", Toast.LENGTH_LONG).show();
}
private boolean updateMaintenance(String title, String desc, String id, String primary, String secondary, String property) {
DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReference("maintenance").child(id);
Maintenance maintenance = new Maintenance (id, title, desc, primary, secondary, property);
FirebaseUser user = mAuth.getCurrentUser();
String uid = user.getUid();
databaseMaintenance.child(uid).child(id).setValue(maintenance);
databaseReference.setValue(maintenance);
Toast.makeText(this, "Maintenance Updated Updated Successfully", Toast.LENGTH_LONG).show();
return true;
}
发生这种情况是因为使用以下代码行时:
databaseMaintenance.child(uid).removeValue();
您正在删除maintenance
->uid
节点下的所有内容。因此,基本上您正在删除uid
节点
要实现您想要的,您需要更改引用。因此,请将上述代码行更改为:
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
rootRef.child("maintenance").child(uid).child(maintenanceId).removeValue();
你想删除的记录是什么?所以现在,当我长时间点击时,我可以选择删除或更新我点击的记录。好的。。。但我不知道如何删除一条记录。您能解释一下吗?dnt knw您正在删除的记录,但我的意思是您可以再深入一步:
databaseMaintenance.child(uid).child(id).removeValue()代码>这将删除子记录。请添加您的数据库结构,并向我们突出显示您要删除的确切记录。