Skip to content

Latest commit

 

History

History
162 lines (89 loc) · 2.66 KB

1주차.md

File metadata and controls

162 lines (89 loc) · 2.66 KB

1주차 과제

필수 과제, 성장 과제1 성장 과제2
image image

필수 과제

  • 회원가입 조건을 모두 입력했을 시에만 회원가입 완료

주요 코드

SignUpActivity.kt

  • 회원가입 버튼 클릭 시 세 개의 Edittext가 채워져있는지 확인
private fun signUp() {
        ...
        if(id.isNotEmpty() && name.isNotEmpty() && password.isNotEmpty() ) {
            //회원가입 완료
        }
        else {
            //회원가입 실패
        }
    }

성장과제 1

  • 회원가입 완료 후 로그인 화면에 정보 자동 완성

주요 코드

SignInActivity.kt

  • 회원가입 버튼 클릭시 startActivityForResultSignUpActivity 실행
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())  
}

성장 과제 2

  • 자동 로그인

주요 코드

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()
        }
    }