android 批量下载图片 bug

 

  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

你可能感兴趣的:(Android开发)