는 코틀린에서 이미지 가져오기 질문이였구요~
1
2
3
4
5
6
7
8
9
|
private val activityResultPicture: ActivityResultLauncher<Intent> = registerForActivityResult(
ActivityResultContracts.StartActivityForResult()){ result ->
if(result.resultCode == RESULT_OK && result.data != null){
val extras: Bundle? = result.data?.extras
val byteArray = extras?.getByteArray("data")
val bitmap = BitmapFactory.decodeByteArray(byteArray, 0, byteArray!!.size)
binding.ivImage.setImageBitmap(bitmap)
}
}
|
cs |
위 코드에서 extras안에 데이터 중 mMap > entry[0] > value 값을 가져오고 싶은데 어떻게 할지 모르겠습니다.
답변 미리 감사합니다.
-------------------------------------------------------------------------------------------
추가
이게 result.get("data") 하면 가져와 지긴 하네... 그런데 deprecated 처리 되있어서 쓰면 안 되는데
대체 뭘로 가져와야 하는거지? 모든 경우를 다 써봐야 하나 ㅋㅋㅋ 돌겠네
-------------------------------------------------------------------------------------------
추가+2
1
2
3
4
5
6
7
8
|
binding.btnCamera.setOnClickListener{
if(ContextCompat.checkSelfPermission(this@MainActivity, Manifest.permission.CAMERA) == PackageManager.PERMISSION_GRANTED){
val intent = Intent(MediaStore.ACTION_IMAGE_CAPTURE)
activityResultPicture.launch(intent)
}else{
ActivityCompat.requestPermissions(this, arrayOf(Manifest.permission.CAMERA), CAMERA_PERMISSION_CODE)
}
}
|
cs |
호출 하는 곳 소스 추가
내가 사용하는 방식은 디바이스에 있는 카메라 앱을 호출해서 사진을 찍게 하고,
사용자가 뒤로가기 혹은 완료 버튼을 누르면 콜백으로 돌아오고 'result'에 응답값이 들어오면 그걸 사용하는 방식인데
안에 값이 있는건 확실한데 ㅅㅂ extras.get("data") 에 get메서드 쓰지 말라는데 이거 안 쓰면 데이터 가져오는 방법을 모르겠다
6개의 댓글
무분별한 사용은 차단될 수 있습니다.
득근이어라
mMap.get("data")
집에가게해줘
물론 해봤지만 안 됩니다. mMap 이란게 없다고 뜹니다.
득근이어라
private인갑네? get method 찾아봣어?
집에가게해줘
get method들 string, stringArray, byte, byteArray, int,integerArray 등등 해봤는데 return value가 전부 null임 ㅜㅜ
힝거루
이미지를 어떻게 가져오는 상황인지 모르겠는데, 갤러리에서 가져올때는 ActivityResultContracts.GetContent를 써서 Uri 형태로 받았던 것 같음
집에가게해줘
그건 사진을 찍으면 갤러리에 저장이 되고 그걸 불러오는 방법인거 같은데
내가 하려는건 사진을 찍으면 콜백으로 해당값을 받아오는 방식이라...
뭐 공부차 하는거라 그 방법도 나중에 해봐야할 듯! ㅎㅎ