从我创建项目开始,这就非常有效。但突然间开始崩溃。注册活动工作正常。但是这个登录活动正在崩溃。
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.durden, PID: 7921
java.lang.NullPointerException
at com.example.durden.activity.SignInActivity.onCreate$lambda-2(SignInActivity.kt:49)
at com.example.durden.activity.SignInActivity.$r8$lambda$ZBrxDCm4vr69l-PuE690AA_KCF8(Unknown Source:0)
at com.example.durden.activity.SignInActivity$$ExternalSyntheticLambda1.onClick(Unknown Source:4)
at android.view.View.performClick(View.java:7125)
at android.view.View.performClickInternal(View.java:7102)
at android.view.View.access$3500(View.java:801)
at android.view.View$PerformClick.run(View.java:27336)
at android.os.Handler.handleCallback(Handler.java:883)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7356)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)
class SignInActivity : AppCompatActivity() {
// getting the references from firebase
private var auth: FirebaseAuth? = null
private var firebaseUser: FirebaseUser? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// gets the view binding of sign_in_activity
val binding = ActivitySignInBinding.inflate(layoutInflater)
setContentView(binding.root)
// ends this activity and goes to sign up page if needed
binding.gotoSignUp.setOnClickListener {
val intent = Intent(
this@SignInActivity,
SignUpActivity::class.java
)
startActivity(intent)
finish()
}
binding.btnSignIn.setOnClickListener {
// storing the entered email and password
val email = binding.SImail.text.toString()
val password = binding.SIpass.text.toString()
// checks if the values are entered
if (TextUtils.isEmpty(email) && TextUtils.isEmpty(password)) {
Toast.makeText(applicationContext,"email and password are required", Toast.LENGTH_SHORT).show()
}
// signs in the user using firebase data
else {
auth!!.signInWithEmailAndPassword(email, password)
.addOnCompleteListener(this) {
if (it.isSuccessful) {
binding.SImail.setText("")
binding.SIpass.setText("")
// after sign in takes to user page
val intent = Intent(
this@SignInActivity,
UserActivity::class.java
)
startActivity(intent)
finish()
}
else {
Toast.makeText( applicationContext, "Invalid password or email", Toast.LENGTH_SHORT).show()
}
}
}
}
}
}
Firebase 身份验证导致 Android 致命异常
这听起来和我的问题很相似,但我还是不明白为什么会这样。
您将视图膨胀了两次,这是错误的:
val binding = ActivitySignInBinding.inflate(layoutInflater)
// setContentView(binding.root)
您永远不会初始化auth
,这意味着当您执行auth!!. signInSusEmailAndPassword(email,密码)
时,您会得到一个异常。
在您的onCreate
中初始化auth
,如步骤2所示,以防止错误。
// Initialize Firebase Auth
auth = Firebase.auth
NullPointerExceptions
非常普遍,因此我强烈建议您学习如何自己解决这些问题。为此,请查看:
每次我尝试用Pycharm在GitHub中推送一个存储库时,它都会失败。 在Settings->Version Control->Git中,Git可执行文件的路径是用完整路径设置的,SSH可执行文件:Buil-in Win 7上的Pycharm版本3.1.1 Git版本1.8.4.msysgit.0。
“Git push origin MyBranchName”抛出错误“HTTP Basic:拒绝访问” 我在GitLab中配置了密码。 我有SSL密钥创建后,项目是在GitLab上。
我一直很难找到Google Firebase身份验证背后的SLA。根据托管和实时数据库的服务水平协议,Firebase的每月正常运行时间百分比应至少达到99.95%。它是否适用于身份验证服务?
我第一次将应用程序部署到数字海洋,遇到了两个(可能更多)问题。 1) 在将添加到Gemfile后,我无法。我发现kgio与windows不兼容。我必须要Gemfile吗。当我通过capistrano部署时是否存在锁?我如何解决这个问题? 2)我在服务器上的postgreql上遇到身份验证问题。 我运行了这些命令(以及其他一些命令): 每次我限制部署时,我都会收到这个错误: 我尝试输入一个我知道不存
当我创建一个新用户,但它无法登录数据库时。 我这样做: 然后创建一个数据库: 之后,我尝试登录,但出现错误: 我试图解决这个问题,但失败了。
我在Windows 10 Pro x64上使用GitLab Community Edition 9.1.3 2E4E522。使用Git客户端。