반응형
안녕하세요 골드입니다.
오늘은 url로 선언되어 있는 이미지를 Bitmap 객체로 변환하는 방법에 대해서 작성하도록 하겠습니다.
서버와 통신하면서 단순히 Glide(혹은 다른 라이브러리)에 URL을 바로 into()하여 사용하지 않고, Json 파일을 Bitmap으로 변환하는 일이 생길 때가 분명 있을 것입니다. 저는 함수를 이렇게 만들었습니다.
try cahtch문과 관계없이 HttpURLConnection은 안드로이드의 메인 스레드에서 접근할 수 없습니다. 따라서 이 함수를 그냥 사용할 수 없습니다. 그냥 사용할 경우 이와 같은 에러가 발생합니다.
저 같은 경우 코루틴을 사용하였습니다. 코루틴의 Dispatcher를 IO로 변경하여 HttpURLConnection 객체를 사용하도록 하였습니다. AsyncTask나 다른 여러 가지 방법이 있고 모두 알맞은 접근 방법이 될 것이라고 생각됩니다.
이와 같은 방식으로 Bitmap 객체를 변수에 할당할 수 있고, 필요하다면 ImageView를 참조하여 ImageView에 setImageBitmap()함수에 이미지를 추가할 수 있겠습니다.
여기까지 골드였습니다.
감사합니다.
반응형
'Mobile > Android(Kotlin)' 카테고리의 다른 글
[Android] Spinner(or RecyclerView) Custom Scrollbar. (0) | 2022.04.27 |
---|---|
[Android/Kotlin] RecyclerView 구분선, 아이템 간격 Decoration (0) | 2021.11.18 |
[Android/Kotlin] ViewModel + LiveData + ViewBinding 예제 (0) | 2021.07.29 |
[Android/Kotlin] Broadcast Receiver, 시간 변화에 따른 Time Change Event. Time Tick Action. (0) | 2021.07.26 |
[Android/Kotlin] BottomNavigationView + NavController 연결 (4) | 2021.07.11 |