์ ์ ๋ง๋ค์๋ ํ์๊ฐ์ ์ ์ด์ฉํด ๋ก๊ทธ์ธ ๊ธฐ๋ฅ์ ๋ง๋ค์ด๋ณด์.
1. ํด๋ฆญ ๋ฆฌ์ค๋ ์ค์
binding.loginButton.setOnClickListener(object: View.OnClickListener {
override fun onClick(p0: View?) {
. . .
}
}
2. ์์ธ ์ฒ๋ฆฌ
์ด๋ฉ์ผ ํจ์ค์๋๊ฐ ์ ๋ ฅ๋์ง ์์์ ๋์ ์์ธ์ฒ๋ฆฌ
val email:String = binding.email.text.toString()
val pw:String = binding.password.text.toString()
if (TextUtils.isEmpty(email) || TextUtils.isEmpty(pw)) {
Toast.makeText(this@MainActivity, "์ด๋ฉ์ผ๊ณผ ๋น๋ฐ๋ฒํธ๋ ํ์ ์
๋ ฅ์ฌํญ ์
๋๋ค.", Toast.LENGTH_SHORT).show()
return
}
3. ๋ก๊ทธ์ธ ๋ก์ง ์์ฑ(signInWithEmailAndPassword)
val auth = FirebaseAuth.getInstance()
auth.signInWithEmailAndPassword(email, pw).addOnCompleteListener(this@MainActivity,
object : OnCompleteListener<AuthResult> {
override fun onComplete(p0: Task<AuthResult>) {
if (p0.isSuccessful) {
Toast.makeText(this@MainActivity, "๋ก๊ทธ์ธ ์ฑ๊ณต", Toast.LENGTH_SHORT).show()
val intent = Intent(this@MainActivity, MainPageActivity::class.java)
.putExtra("userId", auth.uid)
startActivity(intent)
finish()
} else {
Toast.makeText(this@MainActivity, "์ด๋ฉ์ผ ๋๋ ๋น๋ฐ๋ฒํธ๊ฐ ๋ค๋ฆ
๋๋ค.", Toast.LENGTH_SHORT).show()
}
}
})
addOnCompleteListener๋ก ๊ตฌํํ๋ค.
๋ก๊ทธ์ธ์ ์ฑ๊ณตํ์ ๋ ์ํํ๋ ๊ธฐ๋ฅ๋ค์ isSuccessful ์์ ์ ์๋ค.
signInWithEmailAndPassword์์ ์์ฒด์ ์ผ๋ก ๋ก๊ทธ์ธ ๊ธฐ๋ฅ์ ์ํํด์ค๋ค.
Toast์ ๋ก๊ทธ์ธ ์ฑ๊ณต์ด ๋จ๋ฉด ์ฑ๊ณต!
728x90