필수 과제, 성장 과제1 | 성장 과제2 |
---|---|
- 회원가입 조건을 모두 입력했을 시에만 회원가입 완료
SignUpActivity.kt
- 회원가입 버튼 클릭 시 세 개의 Edittext가 채워져있는지 확인
private fun signUp() {
...
if(id.isNotEmpty() && name.isNotEmpty() && password.isNotEmpty() ) {
//회원가입 완료
}
else {
//회원가입 실패
}
}
- 회원가입 완료 후 로그인 화면에 정보 자동 완성
SignInActivity.kt
- 회원가입 버튼 클릭시
startActivityForResult
로 SignUpActivity 실행
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
if(requestCode==SIGN_UP_REQUEST_CODE){
if(resultCode== RESULT_OK){
viewDataBinding.etId.setText(data?.getStringExtra("id"))
viewDataBinding.etPassword.setText(data?.getStringExtra("password"))
}
}
}
fun initView() {
viewDataBinding.btnRegister.setOnClickListener {
startSignUpActivity()
}
}
fun startSignUpActivity() {
startActivityForResult(Intent(this, SignUpActivity::class.java), SIGN_UP_REQUEST_CODE);
}
SignUpActivity.kt
- 회원가입 완료 시
Intent
로 값 전달
val intent = Intent().apply {
putExtra("id",et_id.text.toString())
putExtra("password",et_password.text.toString())
}
- 자동 로그인
PreferenceUtil.kt
- SharedPreference 저장
SignInActivity.kt
//로그인 성공 시 SharedPreference 저장
private fun signIn() {
...
if(id.isNotEmpty() && password.isNotEmpty()){
...
SoptApplication.preferences.setBoolean("auto_login",true)
SoptApplication.preferences.setString("id",id.toString())
SoptApplication.preferences.setString("password",password.toString())
startProfileActivity()
}
...
}
//Activity 시작 시 자동로그인이 설정되어 있느지 확인 -> 설정되어있다면 ProfileActivity 실행
override fun onStart() {
super.onStart()
if(SoptApplication.preferences.getBoolean("auto_login", false)){
startProfileActivity()
}
}