android
[Android, Glide] url로 부터 image file 저장하기
seoft
2020. 6. 26. 01:25
파일 다운로드 관련해서 DownloadManager를 사용할 수 도 있지만,
큰용량이 아닌 url로부터 단순 이미지를 받기 위해서는 상황에 따라 코드가 복잡하고 과할 수 도 있다.
DownloadManager에 비해 Glide를 통한 방법으로 비교적 짧고 간단한 코드로 구현이 가능하다.
Glide에 url을 넣어 진행시키고 완료되면 onResourceReady가 비동기로 호출되고 그 콜백 내에서 File을 생성, 변환 해주는 방법이다.
필자는 Rx에 병렬적으로 진행하기위해 Single타입으로 반환했으며 cache경로에 랜덤한 파일명으로 저장시켜 사용하였다. 상황에 맞게 알맞게 고쳐 사용하면 될 것같다.
위의 함수를 사용한 부분인데 single타입의 리스트를 zip에넣어 활용하였다
이미지 외의 다운로드, progress, 다양한 state 관리 등 내부적인 기능을 이용해야 한다면 DownloadManager를 사용하되 간단하게 image만을 받아 사용한다면 작성한 방법도 고려해 볼 수 있지 않을까 싶다.