当我在 Android studio 中使用 firebaseAuth = FirebaseAuth.getInstance() 时应用程序崩溃

问题描述 投票:0回答:1

我正在使用 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 中添加依赖项,但没有任何效果。请指导这个问题,因为我花了几天时间处理这个问题,但仍然没有从任何资源中得到解决。

android kotlin crash build.gradle
1个回答
0
投票

在 onCreate() 方法中,初始化 FirebaseAuth 实例。

更换

firebaseAuth = FirebaseAuth.getInstance()

// 初始化 Firebase 身份验证

firebaseAuth = Firebase.auth

并尝试一次

© www.soinside.com 2019 - 2024. All rights reserved.