1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
public String getDownloadFromUrl(String fileName){ try{ File file = new File(CACHE_FOLDER); if(!file.isDirectory()){//캐시 디렉토리가 없으면 만들기 file.mkdir(); } URL url = new URL(TEST_DOWNLOAD_URL+fileName); InputStream input = null; int count = 0; input = new BufferedInputStream(url.openStream(), 8192); OutputStream output = new FileOutputStream(CACHE_FOLDER+fileName); byte data[] = new byte[1024]; while ((count = input.read(data)) != -1) { output.write(data, 0, count); } output.flush(); output.close(); input.close(); return CACHE_FOLDER+fileName;//패스 리턴 }catch(Exception e){//파일이 없다 Log.e("downloadImage"," error : " +e); return null; } //return Drawable.createFromStream(((java.io.InputStream)new java.net.URL(url).getContent()), "name"); //Drawable 객체로 바로 가져오기 } public Bitmap getBitmapResource(String path){ return BitmapFactory.decodeFile(path, null);//bitmap 만들기 } |
CACHE_FOLDER 에 지정된 url의 파일을 다운로드하여 Bitmap 객체로 만들어주는 샘플 소스입니다.
다운로드 받은 파일을 활용해야할 경우가 많다면 구지 매번 다운로드받지 않고 임의의 폴더를 생성하여
그곳에 저장시킨 후 다음 번 어플 실행시 해당 폴더의 파일이름을 체크하여 있으면 사용할 수 있게끔 해주면 될것 같네요.
사용법)
1 |
mBitmap = getBitmapResource(getDownloadFromUrl(fileName)); |
아예 Drawable 객체로 다운로드 받아와 리턴할수도 있더군요.
1 |
return Drawable.createFromStream(((java.io.InputStream)new java.net.URL(url).getContent()), "name"); //Drawable 객체로 바로 가져오기 |
'Android' 카테고리의 다른 글
#Android Device별 기본 UI (Spinner) (0) | 2012.02.03 |
---|---|
#Android 이미지 다운로드 (0) | 2012.01.19 |
개발노트 - Android SDK 2.3 업데이트 이후 나인패치 실행 문제... (2) | 2010.12.07 |
Android Speech to text (0) | 2010.07.15 |
마켓 - 우편번호 검색기[ZipCode(kr)] (1) | 2010.04.10 |