微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Android从SD卡获取图像

我正在使用一个代码来列出我设备中的所有图像……我正试图弄清楚如何仅从特定文件获取图像,而不是所有图像.这是我正在使用的代码

ArrayList<Bitmap> images = new ArrayList<Bitmap>();
String[] projection = {MediaStore.Images.Thumbnails.DATA};
Uri uri = Uri.parse("content://media/external/images/media");
cursor = managedQuery( uri, projection, null, null, null);
//cursor = managedQuery( MediaStore.Images.Media.EXTERNAL_CONTENT_URI, projection, null, null, null);
Log.i("MediaStore.Images.Media.EXTERNAL_CONTENT_URI", "MediaStore.Images.Media.EXTERNAL_CONTENT_URI: " + MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
if(cursor.getCount()==0){
     Log.i("No Cards","No Cards");
     cursor.close();
 } else if(cursor.getCount()>0){        
 for(cursor.movetoFirst(); cursor.movetoNext(); cursor.isAfterLast()){
     int columnIndex = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
     String imagePath = cursor.getString(columnIndex);
     Log.i("imagePath", "imagePath: " + imagePath);
     Bitmap b = BitmapFactory.decodeFile("/Stampii" + imagePath, null);
     images.add(b);
  }
  }

我想要做的是从imagePath获取图像:/mnt/sdcard/Stampii/MediaCategory-251.jpg Stampii文件夹,但我无法理解如何输入到该文件夹​​的正确路径.我已经尝试过了:

Uri uri = Uri.parse("content://media/external/images/media/mnt/sdcard/Stampii");

解决方案吗

解决方法:

使用

File file = new File(Environment.getExternalStoragePath()+"/Stampii/");

file imageList[] = file.listFiles();

 for(int i=0;i<imageList.length;i++)
 {
   Log.e("Image: "+i+": path", imageList[i].getAbsolutePath());

   Bitmap b = BitmapFactory.decodeFile(imageList[i].getAbsolutePath());

   images.add(b);

 }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐