我正在使用 firebase 身份验证开发一个简单的登录应用程序,每当我单击“注册”按钮(使用 firebase)时,应用程序就会崩溃。我在 android studio 中尝试了多种方法,更改了 firebase auth、kotlin 和目标 sdk 的版本,但没有任何效果。 我注意到一件事,如果我删除该行:
firebaseAuth = FirebaseAuth.getInstance()
注册页面开始打开,据我所知,使用 firebase 时出现问题。有什么办法可以解释为什么这种情况在android studio中一次又一次发生吗?
实际代码如下:
package com.example.poemworld
import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.Button
import android.widget.Toast
import com.example.poemworld.databinding.ActivitySignupBinding
import com.google.firebase.auth.FirebaseAuth
class SignUp : AppCompatActivity() {
private lateinit var binding: ActivitySignupBinding
private lateinit var firebaseAuth: FirebaseAuth
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// setContentView(R.layout.activity_signup) // Remove this line
// Initialize binding
binding = ActivitySignupBinding.inflate(layoutInflater)
setContentView(binding.root)
//Initialize Firebase
firebaseAuth = FirebaseAuth.getInstance()
// Use binding to access views
binding.materialButton.setOnClickListener {
val emailValue = binding.email.text.toString()
val passwordValue = binding.pw.text.toString()
val userValue = binding.username.text.toString()
val fullnameVal = binding.name.text.toString()
if (emailValue.isNotEmpty() && passwordValue.isNotEmpty() && userValue.isNotEmpty() && fullnameVal.isNotEmpty()) {
firebaseAuth.createUserWithEmailAndPassword(emailValue, passwordValue).addOnCompleteListener {
if (it.isSuccessful) {
val intent = Intent(this, Motivation::class.java)
startActivity(intent)
} else {
Toast.makeText(this, "Registration failed. Please try again.", Toast.LENGTH_SHORT).show()
}
}
} else {
Toast.makeText(this, "Incomplete Information", Toast.LENGTH_SHORT).show()
}
}
val button1 = findViewById<Button>(R.id.backtologin)
button1.setOnClickListener {
val intent1 = Intent(this, loginfile::class.java)
startActivity(intent1)
}
}
}
我尝试了很多事情,例如更新 sdk/更改 kotlin 版本以及在 gradle 中添加依赖项,但没有任何效果。请指导这个问题,因为我花了几天时间处理这个问题,但仍然没有从任何资源中得到解决。
在 onCreate() 方法中,初始化 FirebaseAuth 实例。
更换
firebaseAuth = FirebaseAuth.getInstance()
与
// 初始化 Firebase 身份验证
firebaseAuth = Firebase.auth
并尝试一次