• 카테고리

    질문 & 답변
  • 세부 분야

    모바일 앱 개발

  • 해결 여부

    미해결

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

23.09.19 21:46 작성 조회수 139

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을 받는 다양한 방법이 있는데
예를 들면
서울에서 부산까지 간다고 했을 때


서울 -> 대전 -> 부산

서울 -> 대구 -> 부산


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

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