2011-03-22 50 views

回答

3

您可以通過調用getCacheDir()來獲得內部存儲緩存目錄,該目錄是您的應用用作存儲的專用區域,不能被任何人或任何其他應用訪問。您也可以通過調用getExternalCacheDir()來獲得外部存儲(sd卡)緩存目錄,在這種情況下,用戶可以訪問它。您可以在Android的Data Storage關於其開發指南的章節閱讀更多關於此的內容。

在downlaoding方面並保存圖像,你可以做到以下幾點:

URL url = new URL(url); 
HttpURLConnection ucon = (HttpURLConnection) url.openConnection(); 
Bitmap image = Bitmap.decodeStream(ucon.getInputStream); 

File cacheDir = getCacheDir(); 

File imageFile = new File(cahceDir, "downloadedImage.png"); 

FileOutputStream fos = new FileOutputStream(imageFile); 

image.compress(Bitmap.CompressFormat.PNG, 100, fos); 
fos.close(); 
fos.flush(); 

要小心下載大圖片,因爲這可能會導致OOM錯誤(內存不足),所以你可能包住帶有SoftReference對象的位圖對象以避免此錯誤。即

SoftReference<Bitmap> softref = new SoftReference(image); 
+0

感謝Hakan的幫助。 – Mathew 2011-03-22 12:09:02