인프런 커뮤니티 질문&답변

최대환님의 프로필 이미지
최대환

작성한 질문수

[초중급편] 안드로이드 데이팅 앱 만들기(Android Kotlin)

핸드폰 이미지 불러오기

핸드폰 이미지 불러오기 방법들

작성

·

196

0

현재 '핸드폰 이미지 불러오기' 강의를 듣고있는데 저번에 '안드로이드 커뮤니티 앱 만들기'에서는 핸드폰의 이미지를 불러올때

    fun getProfileImg() {

        joinBinding.imageArea.setOnClickListener {
            val gallery = Intent(Intent.ACTION_PICK, MediaStore.Images.Media.INTERNAL_CONTENT_URI)
            startActivityForResult(gallery, 100)
        }
    }

    override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
        super.onActivityResult(requestCode, resultCode, data)
        if (resultCode == AppCompatActivity.RESULT_OK && requestCode == 100) {
            joinBinding.imageArea.setImageURI(data?.data)
        }
    }

이런식으로 하셨잖아여. 이번에도 이렇게 하니까 정상 작동하더라고요! 이번에는

    fun getProfileImg() {
        val getAction = registerForActivityResult(
            ActivityResultContracts.GetContent(),
            ActivityResultCallback { uri ->
                joinBinding.imageArea.setImageURI(uri)
            }
        )

        joinBinding.imageArea.setOnClickListener {
            getAction.launch("image/*")
        }
    }

이런식으로 하고계시잖아요.

두방법간의 차이가 뭔가요? 아니면 더 좋은방법을 알아내신건가요?

답변 1

1

개복치개발자님의 프로필 이미지
개복치개발자
지식공유자

좋은 질문이시네요.
사실 더 좋은 방법이라기 보다는 여러가지 방법 중 하나를 선택한 것입니다.

callback을 받는 다양한 방법이 있는데
예를 들면
서울에서 부산까지 간다고 했을 때


서울 -> 대전 -> 부산

서울 -> 대구 -> 부산


이렇게 여러 가지 방법으로 갈 수 있는 것과 같습니다. 성향과 스타일에 맞게 사용하시면 됩니다~

가독성도 읽기 편하신 것을 사용하시면 됩니다.

최대환님의 프로필 이미지
최대환

작성한 질문수

질문하기