Android 无法将数据存储到firebase数据库中,并且在运行时没有错误或警告

Android 无法将数据存储到firebase数据库中,并且在运行时没有错误或警告,android,firebase,kotlin,firebase-realtime-database,Android,Firebase,Kotlin,Firebase Realtime Database,我看到这个问题被问了很多次,我在发帖之前复习了所有的问题。我有一个用于注册用户的kotlin活动。这有两个活动,一个是使用FirebaseAuth创建新用户,成功完成后,我将用户信息EXCET密码存储在FirebaseDatabase中。当我运行代码时,我可以看到用户正在Firebase Auth控制台中创建。但用户集合不是在数据库中创建的 不幸的是,logcat中也没有错误或异常 private fun saveUserInfo(nickname: String, email: String,

我看到这个问题被问了很多次,我在发帖之前复习了所有的问题。我有一个用于注册用户的kotlin活动。这有两个活动,一个是使用FirebaseAuth创建新用户,成功完成后,我将用户信息EXCET密码存储在FirebaseDatabase中。当我运行代码时,我可以看到用户正在Firebase Auth控制台中创建。但用户集合不是在数据库中创建的
不幸的是,logcat中也没有错误或异常

private fun saveUserInfo(nickname: String, email: String, progressDialog: ProgressDialog) {
    val currentUserID = FirebaseAuth.getInstance().currentUser!!.uid
    val database = FirebaseDatabase.getInstance()
    val usersRef = database.getReference("users")

    val userMap = HashMap<String, Any>()
    userMap["uid"] = currentUserID
    userMap["nickname"] = nickname
    userMap["email"] = email

    usersRef.child(currentUserID).setValue(userMap)
        .addOnCompleteListener {
            if (it.isSuccessful){
                progressDialog.dismiss()
                Toast.makeText(this, "User created successfully", Toast.LENGTH_LONG)

                val intent = Intent(this, MainActivity::class.java)
                intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK or Intent.FLAG_ACTIVITY_NEW_TASK)
                startActivity(intent)
                finish()
            } else {
                progressDialog.dismiss()
                FirebaseAuth.getInstance().signOut()
                val message = it.exception!!.toString()
                Toast.makeText(this, "Error: " + message, Toast.LENGTH_LONG)
            }
        }
        .addOnFailureListener {
            progressDialog.dismiss()
            FirebaseAuth.getInstance().signOut()
            val message = it.message.toString()
            Toast.makeText(this, "Error: " + message, Toast.LENGTH_LONG)
        }
}
由于用户id是在Firebase Auth中创建的,我知道连接正在工作。我可能会错过什么

我试过了

val database = FirebaseDatabase.getInstance()
    val myRef = database.getReference("message")

    myRef.push().setValue("Hello, World!")
        .addOnFailureListener {
            Log.d("TAG", it.message.toString())
        }

这也不起作用。我确实使用了Android studio assistant,并确保数据库已连接。

经过六个小时的调试和阅读所有建议后。我遇到了一个答案,解决方案是重新启动笔记本电脑。我没有认真对待这个答案,但这解决了问题。在我看来,firebase数据库连接中似乎存在一个漏洞,该漏洞被释放,以便在重新启动后能够重新连接。

是否触发了
addOnCompleteListener
addOnFailureListener
回调?我不知道Kotlin,但我要做的是检查
currentUserID
的值是否正确。如果可以,那么尝试一个简单的
setValue(“test”)
而不是HashMap,看看它是否有效。没有崩溃或stacktrace?当我在其中放置断点时,没有触发任何回调。此外,没有崩溃或StackTraceSetValue(测试)不起作用,
currentUserID
的值是多少?你能记录下来看看吗?在执行
saveUserInfo
之前,您是否等待注册完成?你确定你真的在呼叫
saveUserInfo
val database = FirebaseDatabase.getInstance()
    val myRef = database.getReference("message")

    myRef.push().setValue("Hello, World!")
        .addOnFailureListener {
            Log.d("TAG", it.message.toString())
        }