이번 Android 프로젝트에서는 화면 전환과 데이터 반환을 위해
startActivityForResult
를 사용하는 방법을 살펴보겠습니다.
startActivityForResult
사용하기Intent
를 사용하여 화면 전환을 수행하며 , startActivityForResult
를 사용하여 호출된 액티비티로부터 결과를 받아옵니다.닉네임 변경하기
버튼을 누를 경우 , 닉네임 변경을 위한 새로운 화면으로 이동합니다.startActivityForResult
메소드를 사용하여 해당 화면을 시작합니다.val REQUEST_FOR_NICKNAME = 1005
var intent = Intent(this, MainActivity2::class.java)
startActivityForResult(intent, REQUEST_FOR_NICKNAME)
입력 완료
버튼을 누르면 , 변경된 닉네임이 메인 페이지에 반영됩니다.onACtivityResult
에서 결과 처리 :onActivityResult
에서 요청 코드 (REQUEST_FOR_NICKNAME
)를 확인하여 , 이 요청이 닉네임 변경 요청인지 확인합니다.resultCode
)가 Activity.RESULT_OK
인지 확인하여 , 사용자가 올바르게 데이터를 입력하고 돌아왔는지 검사합니다.nickname
이라는 키로 저장된 새 닉네임을 추출하고 , 이를 메인 페이지의 TextView에 표시합니다.if (requestCode == REQUEST_FOR_NICKNAME) {
//닉네임 변경 요청인지 확인
if (resultCode == Activity.RESULT_OK) {
//유저가 ok버튼을 눌러서 돌아왔는지 체크
val newNickname = data?.getStringExtra("nickname")
//닉네임이라는 데이터 가지고오기
binding.nickNameTxt.text = newNickname
//닉네임 변경될테스트에 추가
startActivityForResult
와 onActivityResult
는 Android 애플리케이션 개발에서 사용자 입력과 같은 데이터를 다룰 때 자주 사용되는 중요한 컴포넌트 입니다.
오...저도 욕심 좀 더 내봐야겠습니다 ㄷㄷ