gpt4 book ai didi

android - 如何检查 Firebase 数据类 Android 中是否已经存在一个值

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:54:18 26 4
gpt4 key购买 nike

我想检查 Firebase 的数据库中是否已经存在公交车号码。

这是我的示例代码。我过去几天一直在搜索,但找不到合适的代码。

ref = new Firebase(Config.FIREBASE_URL);
postRef = ref.child("BusNumber");

busNum = edtBus.getText().toString().trim();
route1 = route.trim();
seat = edtSeat.getText().toString().trim();

if (!busNum.isEmpty() && !route1.isEmpty() && !seat.isEmpty()) {
postRef.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if (dataSnapshot.child(busNum).exists()) {
edtBus.setError("Bus number already exists.");
edtBus.setText("");
} else {
busNumber = new BusNumber();
busNumber.setBusNum(busNum);
busNumber.setRoute(route1);
busNumber.setNumSeat(seat);
postRef.push().setValue(busNumber);
edtBus.setText("");
edtSeat.setText("");
Toast.makeText(AddBusActivity.this, "Saving successful!", Toast.LENGTH_SHORT).show();
}
}

@Override
public void onCancelled(FirebaseError firebaseError) {
Toast.makeText(AddBusActivity.this, "Error", Toast.LENGTH_SHORT).show();
Toast.makeText(AddBusActivity.this, firebaseError.getMessage(), Toast.LENGTH_SHORT).show();
}
});

} else {
Toast.makeText(AddBusActivity.this, "Please complete the information", Toast.LENGTH_SHORT).show();
}

有人可以帮我解决这个问题吗?提前致谢。无论 if 语句是否正确,我的问题也是为什么 postRef.addListenerForSingleValueEvent... 不起作用?我尝试测试一些 toast 消息,但消息不会弹出。

here is my firebase database

最佳答案

你的做法是错误的。

当您执行此 dataSnapshot.child(busNum).exists() 时,它会在 key 部分寻找 busNum,您的 key 是 -kasajdh....

所以你可以做的是,获取 iterable,现在当你寻找data.child(busNum).exists() 与值有关

   postRef.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot data: dataSnapshot.getChildren()){
if (data.child(busNum).exists()) {
//do ur stuff
} else {
//do something if not exists
}
}
}

@Override
public void onCancelled(FirebaseError firebaseError) {

}
});

关于android - 如何检查 Firebase 数据类 Android 中是否已经存在一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38948905/

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