android 批量下载图片 bug

本文介绍了一种批量下载图片的方法,并通过实例演示了如何利用循环结构和线程控制实现多图片的同时下载,解决了图片名称与文件关联的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

  1. 了解网络上普通下载数据图片的基本写法

  2. 结合实际的业务完成图片的批量下载本平板的SD卡中的指定目录中

  3. 总结事项过程中存在的严重问题

 

对于上面的事项花2天时间

由于今天在代理商 处演示是 的意外的问题,特使写出 总结

1. 普通下载单个图片可以这样写:


   //data = null;
   //data = new HttpDownloader().getImage(filePath);  

  //if(data!=null){         
     //  bitmap = BitmapFactory.decodeByteArray(data, 0, data.length);// bitmap 
     //   new Thread(saveFileRunnable).start();
     //  }
//
//     private Runnable saveFileRunnable = new Runnable(){   
//         @Override  
//         public void run() {   
//             try {   
//                 saveFile(bitmap, fileName); 
//                 System.out.println("**********true***********"+fileName);
//                 message = "图片保存成功!"+fileName;   
//             } catch (IOException e) {   
//                 System.out.println("**********false***********"+fileName);
//                  message = "图片保存失败!"+fileName;   
//                 e.printStackTrace();   
//             }   
//             messageHandler.sendMessage(messageHandler.obtainMessage());   
//         }   
//                
//     };  

 

2. 那么如何改写成批量下载呢,最简单的写法:

   //data = null;
   //data = new HttpDownloader().getImage(filePath);  

  //if(data!=null){         
     //  bitmap = BitmapFactory.decodeByteArray(data, 0, data.length);// bitmap 
     //   new Thread(saveFileRunnable).start();
     //  }

把这块内容用for 循环包裹起来

 

3. 对2的问题是:多个线程同时跑起来 不能够 把图片 和图片的名字 正确关联起来 

 

4. 去掉方法中的new Thread(saveFileRunnable).start();   换为:saveFile(bitmap, fileName);   ,并在for外面,来包裹一个线程。这样就完美了

 

5. 2011年12月3日22:24:11

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值