1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 | package kr.vrpano.wonstar import android.content.Intent import android.os.Bundle import android.support.v7.app.AppCompatActivity import android.view.View import android.widget.Toast import com.google.firebase.auth.FirebaseAuth import com.google.firebase.auth.FirebaseUser import kotlinx.android.synthetic.main.activity_login.* class LoginActivity : AppCompatActivity() { // Firebase Authentication 관리 클래스 var auth: FirebaseAuth? = null override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_login) // Firebase Authentication 관리 클래스 auth = FirebaseAuth.getInstance() // 이메일 로그인 이벤트 처리 email_login_button.setOnClickListener { emailLogin() } } // 이메일 로그인 메소드 fun emailLogin(){ if (email_edittext.text.toString().isNullOrEmpty() || password_edittext.text.toString().isNullOrEmpty()){ Toast.makeText(this,getString(R.string.signout_fail_null), Toast.LENGTH_SHORT).show() } else { progress_bar.visibility = View.VISIBLE createAndLoginEmail() } } // 이메일 회원 가입 및 로그인 메소드 fun createAndLoginEmail(){ auth?.createUserWithEmailAndPassword(email_edittext.text.toString(),password_edittext.text.toString())?.addOnCompleteListener { task -> progress_bar.visibility = View.GONE if(task.isSuccessful){ moveMainPage(auth?.currentUser) //유저아이디를 넘겨준다. Toast.makeText(this,getString(R.string.signup_complete), Toast.LENGTH_SHORT).show() } else if (task.exception?.message.isNullOrEmpty()){ Toast.makeText(this,task.exception!!.message,Toast.LENGTH_SHORT).show() } else { signinEmail() } } } // 로그인 메소드 fun signinEmail(){ auth?.signInWithEmailAndPassword(email_edittext.text.toString(),password_edittext.text.toString()) ?.addOnCompleteListener{ task -> progress_bar.visibility = View.GONE if (task.isSuccessful){ // 로그인 성공 및 다음 페이지 호출 moveMainPage(auth?.currentUser) } else { // 로그인 실패 Toast.makeText(this,task.exception!!.message, Toast.LENGTH_SHORT).show() } } } // 로그인 성공 시 이동할 페이지 fun moveMainPage(user : FirebaseUser?){ if(user != null){ Toast.makeText(this, getString(R.string.signin_complete), Toast.LENGTH_SHORT).show() startActivity(Intent(this, MainActivity::class.java)) finish() } } } | cs |
'Firebase' 카테고리의 다른 글
구글로그인 (0) | 2018.11.27 |
---|---|
파이어베이스 로그인 설정 방법 (0) | 2018.11.25 |
파이어베이스와 안드로이드 스튜디오 연동하기 (0) | 2018.11.24 |
파이어베이스와 페이스북 소셜 로그인 연동하기 (0) | 2018.11.24 |