Android 获取SDCard中某个目录下图片

   本文介绍Android开发中如何获取SDCard中某目录下的所有图片并显示出来,下面的我们提供的这个函数是通用的,只要提供路径就可以查询出该目录下所有图片的路径信息,并保存到一个List<String>中。

 1.获取SDCard中某个目录下图片路径集合

 public List<String> getPictures(final String strPath) { 
    List<String> list = new ArrayList<String>(); 
    File file = new File(strPath); 
    File[] allfiles = file.listFiles(); 
    if (allfiles == null) { 
      return null; 
    } 
    for(int k = 0; k < allfiles.length; k++) { 
      final File fi = files[i]; 
      if(fi.isFile()) { 
              int idx = fi.getPath().lastIndexOf("."); 
              if (idx <= 0) { 
                  continue; 
              } 
              String suffix = fi.getPath().substring(idx); 
              if (suffix.toLowerCase().equals(".jpg") || 
                  suffix.toLowerCase().equals(".jpeg") || 
                  suffix.toLowerCase().equals(".bmp") || 
                  suffix.toLowerCase().equals(".png") || 
                  suffix.toLowerCase().equals(".gif") ) { 
                  list.add(fi.getPath()); 
              } 
      } 
   } 
   return list; 
 }

2.获取sd卡下的图片并显示

 List<String> list = getPictures(Environment.getExternalStorageDirectory() + ""); 
 if (list != null) { 
    Log.d(TAG, "list.size = " + list.size()); 
    for (int i = 0; i < list.size(); i++) { 
        Bitmap bm = BitmapFactory.decodeFile(list.get(i)); 
        int top = 30; 
        if (i > 0) { 
            top += BitmapFactory.decodeFile(list.get(i - 1)).getHeight() + 2; 
        } 
        canvas.drawBitmap(bm, 0, top, paint); 
    } 
 } 
 else { 
    Log.d(TAG, "list is null!!!"); 
 }

    本文提供两个函数,第一个函数主要是获取SDCard中某目录下的所有图片,第二个函数主要是显示图片,希望本文对Android开发者有所帮助。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。