저번에 올린 글
https://www.dogdrip.net/computer/535928482?category=180739712&page=1
강의 보면서 하는데 사진찍어서 이미지 가져오는 방법이 옛 방식이라 지원이 되지 않는다고해서 새로운 방법을 찾았고
적용하는 중 result.data?.extras?.get("data")를 하는데 ㅅㅂ get 메서드도 더 이상 지원 안 하니 쓰지 마라! 라는데...
이미지 가져올 방법이 없어서 올린 질문 글이였음
https://developer.android.com/media/camera/camera-deprecated/photobasics?hl=ko
위 링크를 찾아보니 내가 하려는 방법 자체가 지원이 중단된거라고 다른거 쓰라고 함... ㅋㅋㅋㅋ ㅅㅂ
3개의 댓글
무분별한 사용은 차단될 수 있습니다.
조강현
저도 궁금한데, 해결하시면 후기도 남겨주세요😁
집에가게해줘
결론적으로는 CameraX 라이브러리를 사용해 해결했습니다.
구글에 검색하셔도 많은 내용이 있을텐데 따로 필요하시다면 제가 한 내용도 올리겠습니다.
간단히 설명을 드리자면
기존 Camera는 안드로이드에 설치되어있는 기본 '사진'앱을 실행시켜 사진을 찍게하고, '취소' 또는 '확인'을 누르면
사진 앱은 종료하고 다시 사용하던 앱으로 돌아와 bitmap 데이터를 전달해주는 형식인거 같더라구요.
(어차피 더 이상 사용되지 않길레 정확히 확인해보지 않아 정확한 내용은 아닙니다)
그리고 CameraX는 PreviewView라고 하는 View를 UI에 마련하고 카메라를 실행시키면 카메라로 촬영하듯 화면에 나옵니다.
그 후 버튼을 누르면(버튼은 따로 만들어 줘야 합니다) 그때 사진을 저장하게 합니다.
여기서 사진 저장은 ImageCapture.takePicture 메서드를 사용합니다.
해당 메서드가 정상적으로 작동하고 나면 ImageCapture.OnImageSavedCallback가 호출이 되는데요.
이 때 문제가 없었다면 override fun onImageSaved 메서드가 호출되며 outputFileResults라는 파라미터값도 함께 들어옵니다. 해당 파라미터에는 촬영된 사진의 경로입니다.
조강현
내용 공유 감사합니다!👍👍
Activity가 종료되지 않음으로써, lifecycle 관리가 더 용이해졌네요🤭