Tôi hoàn toàn mới đối với Firebase và cần biết cách kiểm tra xem tác vụ viết của tôi có thành công hay không, vì nếu tôi không làm vậy, MainActivity
sẽ bắt đầu và làm rối loạn tiến trình Register
của tôi.Cách kiểm tra xem tác vụ viết có thành công hay không trong Firebase
kiểm tra này nếu Username
đã được sử dụng và đăng ký người sử dụng nếu nó không phải là:
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();
}
});
Nhưng tôi muốn tiếp cận mục đích để Hoạt động chính (bản đồ) chỉ được kích hoạt khi myRef.child("Users").child(Username).child("Userid").setValue(user.getUid());
và một trong những khác được hoàn thành với nhiệm vụ của mình và là thành công.
Tôi có thể làm gì?
đưa người nghe về sự thay đổi giá trị, và khi nó thay đổi sau đó bắt đầu hoạt động khác của bạn. – Blundell