У меня есть следующий код для удаления некоторых данных из Firebase:
public void removeGameFromWaitQueue() {
final DatabaseReference data = FirebaseDatabase.getInstance().getReference().child("games").child(mCurrentGameKey);
data.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot snapshot) {
if (snapshot.exists()) {
mCurrentGame = snapshot.getValue(DatabaseModels.Game.class);
if (mCurrentGame.getState() == DatabaseModels.Game.State.OPEN.ordinal()){
data.removeValue();
}
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
Как я могу проверить, существуют ли «данные», а затем выполнить весь остальной код? Это означает, что если я создаю DatabaseReference, код работает. Но, конечно, если я не создаю ссылку, то у меня есть null exceprion. Должен ли я иметь 2 слушателей для этого? И если да, то как лучше всего это сделать?