Я зачислен в онлайн CBT и изучаю Kotlin для программирования на Android.Видеоролики были сделаны в 2017 году, и я получил коды приложений, которые были сделаны в серии уроков.Я следовал каждому шагу, пока не подключил свое приложение к Firebase и даже не ввел образцы пользовательских данных в Аутентификацию и установил общедоступные правила использования, но, к моему удивлению, тот же код Kotlin, который, как было показано, работает безупречно в видеоуроках, не работает для меня.Затем я попробовал примеры кодов LoginActivity.kt и RegisterActivity.kt из github, даже эти коды не работают.Пожалуйста, посмотрите мои коды и помогите разобраться с этой проблемой.Когда я нажимаю на loginBtn, приложение вылетает, а данные не отправляются в Firebase.Logcat показывает следующую ошибку:
java.lang.IllegalStateException: Default FirebaseApp is not initialized in this process com.paramlowe.mypg2. Make sure to call
FirebaseApp.initializeApp(Context) first.
at com.google.firebase.FirebaseApp.getInstance(SourceFile:218)
at com.google.firebase.auth.FirebaseAuth.getInstance(Unknown Source:1)
at com.punjabweb.myapp.LoginActivity.loginUser(LoginActivity.kt:50)
at
com.punjabweb.myapp.LoginActivity.access$loginUser(LoginActivity.kt:25)
at
com.punjabweb.myapp.LoginActivity $ onCreate $ 2.onClick (LoginActivity.kt: 43)
и мой код котлина для LoginActivity.kt приведен ниже:
package com.punjabweb.myapp2
import android.content.Intent
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.text.TextUtils
import android.view.View
import android.widget.Button
import android.widget.Toast
import com.google.firebase.auth.FirebaseAuth
import kotlinx.android.synthetic.main.activity_login.*
class LoginActivity : AppCompatActivity() {
//Firebase references
private var mAuth: FirebaseAuth? = null
// FirebaseApp.initializeApp(this)
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_login)
val loginBtn = findViewById<View>(R.id.btnLogin) as Button
loginBtn.setOnClickListener {
loginUser()
}
}
private fun loginUser() {
mAuth = FirebaseAuth.getInstance()
val email = etEmail?.text.toString()
val password = etPassword?.text.toString()
if (TextUtils.isEmpty(email) && TextUtils.isEmpty(password)) {
Toast.makeText(this, "Enter all details", Toast.LENGTH_SHORT).show()
} else {
mAuth!!.signInWithEmailAndPassword(email, password)
.addOnCompleteListener(this) { task ->
if (task.isSuccessful) {
// Sign in success, update UI with signed-in user's information
var firebasUser = FirebaseAuth.getInstance().currentUser!!
// updateUI()
} else {
// If sign in fails, display a message to the user.
Toast.makeText(
this@LoginActivity, "Authentication failed.",
Toast.LENGTH_SHORT
).show()
}
}
}
fun updateUI() {
val intent = Intent(this@LoginActivity, MainActivity::class.java)
// intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
startActivity(intent)
}
}
}