仅从不同的URL下载图像一次,并在android中的sdcard中存储

时间:2012-02-15 06:18:53

标签: android

我有一个要求,我需要在响应xml中解析标记,将其存储在sdcard中,并在每次需要使用它时检索。

我想只下载Whatsapp一次并存储在SD卡中。所以,下次我首先扫描SD卡,然后在必要时下载,我尝试了lazylist程序,但它只是下载并直接加载列表。

注意:我从不同的网址获取的每张图片。我正在解析它并将其保存在数组中。如何在SD卡中保存来自不同网址的图像并仅下载一次

2 个答案:

答案 0 :(得分:2)

在ImageLoader类的Lazy Loading实现中,在线程的stop方法中删除所有图像文件,检查是否实现了相同的实现,如果是,则删除代码,即删除文件。

如果您根本不使用文件存储来缓存图像,请参阅示例:

http://code.google.com/p/shelves/source/browse/trunk/Shelves/?r=19

答案 1 :(得分:2)

正如你在问题中提到的那样。你有一个图像网址的arrayList,你可以从响应xml中获得。

现在您要从这些网址下载图片,然后想要保存在SD卡中。

请按照以下步骤

  1. 从服务器创建AsyncTask以下载图像。 将arrayList传递给AsyncTask并下载所有图像 将下载图像路径设置为要保存在SD卡中的SD卡。

  2. 创建数据库或使用“首选项”来跟踪下载的文件,以便下次您能够找到仍需下载的图像数量以及已下载的图像数量。

  3. 当您在活动中显示图像时,请先检查SD卡。如果您发现SD卡中的所有图像,则无需再次下载,如果仍未下载任何图像,请再次下载。