728x90
과제 제출일이 얼마 남지 않아 최종적으로 점검했다. 기존 onCreate에 모두 작성해놨던 코드들을 함수를 통해 가독성을 높였다.
//SignInActivity
package com.example.week4_homework
import android.content.Intent
import android.os.Bundle
import android.widget.Button
import android.widget.EditText
import androidx.activity.result.ActivityResultLauncher
import androidx.activity.result.contract.ActivityResultContracts
import androidx.appcompat.app.AppCompatActivity
class SignInActivity : AppCompatActivity() {
// 함수에서의 사용을 클래스 단위의 변수선언
private lateinit var loginBtn: Button
private lateinit var joinBtn: Button
private lateinit var idET: EditText
private lateinit var passwordET: EditText
private lateinit var startForResult: ActivityResultLauncher<Intent>
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_sign_in)
loginBtn = findViewById(R.id.btn_login)
joinBtn = findViewById(R.id.btn_join)
idET = findViewById(R.id.et_id)
passwordET = findViewById(R.id.et_password)
startForResult = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result ->
if (result.resultCode == RESULT_OK) {
val id = result.data?.getStringExtra("signed_id")
val password = result.data?.getStringExtra("signed_password")
idET.setText(id)
passwordET.setText(password)
}
}
// 함수로 변경
loginBtn.setOnClickListener { loginBtnClickListener() }
joinBtn.setOnClickListener { joinBtnClickListener() }
}
private fun joinBtnClickListener() {
val intent = Intent(this, SignUpActivity::class.java)
startForResult.launch(intent)
}
private fun loginBtnClickListener() {
if (idET.text.isEmpty() || passwordET.text.isEmpty()) {
toastFun(this, "아이디/비밀번호를 확인해주세요.")
} else {
val intent = Intent(this, HomeActivity::class.java)
intent.apply {
putExtra("extra_id", idET.text.toString())
putExtra("random", getRandomIndex())
}
toastFun(this, "로그인 성공")
startActivity(intent)
}
}
}
다만 아직 registerForActivity를 함수화 하는 과정을 모르겠다.
728x90
'개발' 카테고리의 다른 글
| 04/11 주특기 숙련주차 개인과제(1) (0) | 2024.04.11 |
|---|---|
| 04/05 앱개발 입문주차 팀프로젝트(Project VInstagram) (0) | 2024.04.05 |
| 03/20 주특기 1주차 수준별 과제(1) (0) | 2024.03.20 |
| 03/20 주특기 1주차 개인과제(3) (0) | 2024.03.20 |
| 03/20 주특기 1주차 개인과제(2) (0) | 2024.03.20 |