У меня есть этот стандартный Firebase вызов:Firebase ValueEventListener вернуть не существующий ключ
ref.child("user/toys/-K2873267832")
.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if (dataSnapshot != null) {
// wow the Data at Firebase database does not exist
}
}
}
Проблема заключается в том, что ссылка "user/toys/-K2873267832"
не существует. Когда я удаляю ключ на странице console.firebase.google.com, dataSnapshot
не должен иметь правильные данные. Даже ключ user/toys
удален.
Я работаю над этим проектом в течение месяца и имею много ValueEventListener
в сложной базе данных. Этого я никогда раньше не видел.
Что может привести к этому?
Значит, dataSnapshot не равен нулю? – Lyla
точно, DataSnapshot {key = -K2873267832, value = null} –
См. Ответ отправленный; вы получаете значение для этого местоположения, но это ожидается. Также ожидается, что он не будет иметь ценности. Если вы пытаетесь проверить наличие в местоположении, вот как вы это сделаете - используйте прослушиватель событий значения, а затем посмотрите, являются ли данные нулевыми. Вы также можете выполнить вызов родительского узла и использовать метод 'hasChild', чтобы узнать, существует ли он, как описано [здесь] (http://stackoverflow.com/questions/37397205/google-firebase-check-if- дети существует). – Lyla