Java Firebase实时数据库未注册数据Android
我正在尝试向我的Firebase实时数据库添加一个表“user”,在代码方面,一切看起来都很好,但没有显示任何寄存器 以下是我的代码示例:Java Firebase实时数据库未注册数据Android,java,android,firebase,firebase-realtime-database,Java,Android,Firebase,Firebase Realtime Database,我正在尝试向我的Firebase实时数据库添加一个表“user”,在代码方面,一切看起来都很好,但没有显示任何寄存器 以下是我的代码示例: private void CreateUser(){ final TextView firstName = findViewById(R.id.signUpOnSuccess_FirstName), lastName = findViewById(R.id.signUpOnSuccess_LastName); final EditText b
private void CreateUser(){
final TextView firstName = findViewById(R.id.signUpOnSuccess_FirstName), lastName = findViewById(R.id.signUpOnSuccess_LastName);
final EditText bday = findViewById(R.id.SignUpOnSuccess_Bday);
final Spinner gender = findViewById(R.id.signUpOnSuccess_Gender);
final String sFirstName = firstName.getText().toString().trim(),
sLastName = lastName.getText().toString().trim(),
sGender = gender.getSelectedItem().toString();
//Transfer from SignUpActivity.java
String sEmail = SignUpActivity.sEmail,
sPassword = SignUpActivity.sPassword;
if (!TextUtils.isEmpty(sFirstName)) {
if (!TextUtils.isEmpty(sLastName)) {
String id = databaseUsers.push().getKey();
User user = new User(id, sEmail, sPassword, sFirstName, sLastName, sGender);
databaseUsers.child(id).setValue(user);
Toast.makeText(getApplicationContext(), "User Entry Successfull", Toast.LENGTH_SHORT).show();
}else {Toast.makeText(getApplicationContext(), "Enter Last Name!", Toast.LENGTH_SHORT).show();}
} else {Toast.makeText(getApplicationContext(), "Enter First Name Address!", Toast.LENGTH_SHORT).show();}
}
--"--
以下是我的Firebase规则:
以下是Firebase数据库上显示的内容:
尝试给它一些节点,并将其保存在其中,如:
DatabaseReference databaseUsers = getDatabase().getReference("users");
String id = databaseUsers.push().getKey();
User user = new User(id, sEmail, sPassword, sFirstName, sLastName, sGender);
databaseUsers.child(id).setValue(user);
在课程开始处添加以下内容:
public FirebaseDatabase mDatabase = FirebaseDatabase.getInstance();
public DatabaseReference databaseUsers = databaseUsers.getReference("NameofYourTable");
代码的其余部分似乎很好:
String id = databaseUsers.push().getKey();
User user = new User(id, sEmail, sPassword, sFirstName, sLastName, sGender);
databaseUsers.child(id).setValue(user);
要尝试找出操作是否有问题,可以在将数据添加到firebase数据库时添加CompletionListener
更改此项:
databaseUsers.child(id).setValue(user);
为此:
databaseUsers.child(id).setValue(userAux, new DatabaseReference.CompletionListener() {
public void onComplete(DatabaseError error, DatabaseReference ref) {
if(error == null){
callback.OnSuccess("Ok");
}
else{
callback.OnFailure(error.toString());
}
}
});
正在检查操作是否正在进行(OnSuccess)或是否正在进行(OnFailure),以及原因:
error.toString()
试着调试你的代码,在setValue上设置一个
CompletionListener
。databaseuser等于什么?你的数据库引用是什么?你有databaseUsers.push().getKey();?我编辑响应,因为我需要添加一条注释
error.toString()