我完全不了解Firebase,需要知道如何检查我的写入任务是否成功,因为如果不这样做,MainActivity
会启动并破坏我的Register
进程。
这会检查用户名
是否已经被使用,如果没有则注册用户:
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();
}
});
但是我希望只有当myRef.child("Users").child(Username).child("Userid").setValue(user.getUid());
完成任务且成功时,才会触发到主要活动(地图)的意图。
我该怎么办呢?