마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

DownloadManager에 대하여

0 추천
안녕하세요. 안드로이드 초보가 궁금한것이 있어 이렇게 질문을 드립니다.

서버로부터 대용량 파일 다운로드를 하려고 보니 DownloadManager를 많이들 사용하시더군요. 그런데 이 클래스로 다운로드한 파일은 외부 메모리에만 저장이 가능한가봐요.

만약 외부 메모리가 없으면 이 DownloadManager를 쓸 수 없나요? 그러면 그냥 FileOutputStream으로 직접 파일을 컨트롤해서 네트워크로 받은 파일을 저장하는 방법밖에 없는지 궁금합니다.

Volley를 네트워크 모듈로 쓰고 있는데 이것도 진행하다보니 대용량 파일 다운로드에는 적합하지 않다는 글이 있어 DownloadManager를 사용하기 위해 찾아보게 되었고 이것도 찾아보니 외부 메모리 저장이라 사용을 주저하게 되네요.

결론적으로 기존의 검증된 Volley나 DownloadManager 모듈들 다 두고 기본 클래스들 사용하는것이 좋을런지요?

안드로이드쪽은 라이브러리가 많구나 좋구나 하다가 이거 먼가 제한이 많구나 싶네요.
잼난게좋아 (200 포인트) 님이 2014년 8월 11일 질문

1개의 답변

0 추천
 
채택된 답변

DownloadManager에서 Request를 하실 때,

Destination Uri를 설정할 수 있습니다.

이때 내부 저장소나 App File Dir 을 지정하시면 될듯합니다.

http://developer.android.com/reference/android/app/DownloadManager.Request.html

 

setDestinationUri(Uri uri)

Set the local destination for the downloaded file.

 

skpkyle (1,280 포인트) 님이 2014년 8월 20일 답변
잼난게좋아님이 2014년 8월 28일 채택됨
답변 감사드립니다.
결론적으로 AsyncTask로 통일하였습니다.
대용량 파일 다운로드에도 문제가 있고 html 태그와 같이 섞여들어올 시에 한글이 깨지는 문제가 발생해서 이것저것 여러가지 쓰느니 전부 가능한 AsyncTask 쓰는걸로 결론을 내게되었습니다.
...