Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/198.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Firebase实时数据库未注册数据Android_Java_Android_Firebase_Firebase Realtime Database - Fatal编程技术网

Java Firebase实时数据库未注册数据Android

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

我正在尝试向我的Firebase实时数据库添加一个表“user”,在代码方面,一切看起来都很好,但没有显示任何寄存器

以下是我的代码示例:

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()