Jestem całkowicie nowy w Firebase i muszę wiedzieć, jak sprawdzić, czy moje zadanie pisania zakończyło się pomyślnie, ponieważ jeśli nie, MainActivity
zaczyna się i psuje mój postęp w Register
.Jak sprawdzić, czy pisanie zadań zakończyło się sukcesem w Firebase
Sprawdza czy Username
jest już zajęta i rejestruje użytkownika, jeśli to nie jest:
Query usernamequery = myRef.orderByChild("Username").equalTo(Username);
usernamequery.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot snapshot) {
if (snapshot.exists()) {
// TODO: handle the case where the data already exists
editText.setError("Username taken!");
return;
}
else {
// TODO: handle the case where the data does not yet exist
myRef.child("Users").child(Username).child("Userid").setValue(user.getUid());
myRef.child("Users").child(Username).child("Username").setValue(Username);
startActivity(maps);
finish();
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
Toast.makeText(Username.this, "Error", Toast.LENGTH_LONG).show();
}
});
Ale chcę zamiarem główny przedmiot (mapy) być zwolniony tylko wtedy, gdy myRef.child("Users").child(Username).child("Userid").setValue(user.getUid());
i drugi kończy się swoim zadaniem i odnosi sukcesy.
Co mogę zrobić?
umieścić słuchacza na zmiany wartości, a kiedy zmienia następnie rozpocząć inną działalność. – Blundell