我想檢查Firebase數據庫中是否存在總線編號。如何檢查Firebase數據類中是否已存在值Anroid
這是我的示例代碼。我一直在尋找過去的日子,但我找不到合適的代碼來這樣做。
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
...不起作用?我試圖測試一些吐司消息,但消息不會彈出。
您是否有任何Firebase規則設置阻止您閱讀數據庫?也許在onCanceled中添加一個日誌,並打印出Firebase錯誤(如果有的話)。 – Linxy
@linxy是的,我已經做到了。但據我記憶。沒有錯誤 – tin
您是否找到了解決方案? – silverFoxA