gpt4 book ai didi

java - 从 firebase 中删除项目的正确方法

转载 作者:行者123 更新时间:2023-12-02 01:06:34 27 4
gpt4 key购买 nike

我正在尝试使用removeValue()从我的数据库中删除项目。当我这样做时,我的应用程序崩溃了,因为 onChange 方法中显然变成了空指针。

从数据库中删除值以防止我的应用程序崩溃的最佳方法是什么?

这些是我要删除的值

 DatabaseReference detailref = bookingref.child("Bookings").child(customerid);
detailref.child("Housenumber").removeValue();
detailref.child("Address").removeValue();
detailref.child("Postcode").removeValue();
detailref.child("Phone").removeValue();
detailref.child("Date").removeValue();

在另一个 Activity 中,我使用值事件监听器来调用它们。

public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
if (dataSnapshot.getChildrenCount()!=0){
house = dataSnapshot.child("Housenumber").getValue().toString();
address = dataSnapshot.child("Address").getValue().toString();
postcode = dataSnapshot.child("Postcode").getValue().toString();
phone = dataSnapshot.child("Phone").getValue().toString();
date = dataSnapshot.child("Date").getValue().toString();

这是我的 Logcat 中的空指针错误

java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.Object.toString()' on a null object reference
at studios.p9p.h20.showroomfinish_adminapp.Booking_details$4.onDataChange

最佳答案

您能否详细说明您想要做什么?我认为它崩溃了,因为你要单独删除值。如果您尝试删除所有子数据,您可以尝试类似

 DatabaseReference detailref = bookingref.child("Bookings").child(customerid);
detailref.removeValue();

如果不存在,也许您可​​以在尝试获取值之前检查它是否存在...这不是最好或漂亮的方法,但它可能会起作用......

public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
if(dataSnapshot.exists()
{
if (dataSnapshot.getChildrenCount()!=0){
if(dataSnapshot.hasChild("Housenumber")
{
house = dataSnapshot.child("Housenumber").getValue().toString();
}
if(dataSnapshot.hasChild("Address")
{
address = dataSnapshot.child("Address").getValue().toString();
}
if(dataSnapshot.hasChild("Postcode")
{
postcode = dataSnapshot.child("Postcode").getValue().toString();
}
if(dataSnapshot.hasChild("Phone")
{
phone = dataSnapshot.child("Phone").getValue().toString();
}
if(dataSnapshot.hasChild("Date")
{
date = dataSnapshot.child("Date").getValue().toString();
}
} }

希望这有帮助:)

关于java - 从 firebase 中删除项目的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59974166/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com