我在我的android應用程序的monodroid中使用android universal image loader。從android通用圖像加載器下載圖像流
有些時候我需要在SD卡上保存一些圖像。在這種情況下,我需要下載流中的圖像,然後將它們保存到SD卡中。
有沒有什麼辦法通過這個庫下載圖像流。因爲在很多情況下圖像被緩存在庫中?
我在我的android應用程序的monodroid中使用android universal image loader。從android通用圖像加載器下載圖像流
有些時候我需要在SD卡上保存一些圖像。在這種情況下,我需要下載流中的圖像,然後將它們保存到SD卡中。
有沒有什麼辦法通過這個庫下載圖像流。因爲在很多情況下圖像被緩存在庫中?
UIL可以將圖像緩存在SD卡上(在DisplayImageOptions中啓用緩存)。您可以爲緩存定義自己的文件夾(在ImageLoaderConfiguration中)。
如果你想顯示使用UIL SD卡內的影像,你應該通過網址,如: file:///mnt/sdcard/MyFolder/my_image.png
即使用file://
前綴。
UPD: 如果你想保存在SD卡上的圖像:
String imageUrl = "...";
File fileForImage = new File("your_path_to_save_image");
InputStream sourceStream;
File cachedImage = ImageLoader.getInstance().getDiscCache().get(imageUrl);
if (cachedImage != null && cachedImage.exists()) { // if image was cached by UIL
sourceStream = new FileInputStream(cachedImage);
} else { // otherwise - download image
ImageDownloader downloader = new BaseImageDownloader(context);
sourceStream = downloader.getStream(imageUrl, null);
}
if (sourceStream != null) {
try {
OutputStream targetStream = new FileOutputStream(fileForImage);
try {
IoUtils.copyStream(sourceStream, targetStream, null);
} finally {
targetStream.close();
}
} finally {
sourceStream.close();
}
}
我用UIL下載了一個圖像並將其顯示在圖像gallery.now,我想如果用戶點擊保存圖像我保存此圖像到SD。我想知道如何從UIL得到這個文件流以保存它們如果有可能發送一個新的請求到UIL並且它發送了圖像流,我可以發送url請求agin到UIL,並且它將圖像從它的緩存中發送給我,並且我不會再次下載圖像 – user1682893
我想在顯示在圖庫視圖後保存圖像 – user1682893
UIL不提供這樣的功能,但你可以使用一些類,我更新了我的答案,以顯示你如何做到你 – NOSTRA
如有一些身體可以幫助我。 :-( – user1682893