【发布时间】:2015-08-15 17:02:18
【问题描述】:
如何使用光标在同一光标的直接路径中获取图像和视频缩略图?
我需要在 /DCIM/100ANDRO 文件夹中获取图像和视频缩略图。
但我只能将图像和视频分开在 sd 卡中获取所有数据。
private ArrayList<ImageItem> getData() {
final ArrayList<ImageItem> imageItems = new ArrayList<>();
ContentResolver cr = mContext.getContentResolver();
String[] projection = {MediaStore.Images.Thumbnails.DATA, MediaStore.Video.Thumbnails.DATA};
Cursor cursor = cr.query(MediaStore.Images.Thumbnails.EXTERNAL_CONTENT_URI,projection,null,null,null);
for( int i = 0 ; i < cursor.getCount(); i++)
{
cursor.moveToPosition(i);
String filePath = cursor.getString(cursor.getColumnIndex(MediaStore.Images.Thumbnails.DATA));
Log.i("info","filePath:"+filePath);
File file = new File(filePath);
Bitmap myBitmap = BitmapFactory.decodeFile(file.getAbsolutePath());
imageItems.add( new ImageItem(myBitmap, "Image#" + i) );
}
cursor = cr.query(MediaStore.Video.Thumbnails.EXTERNAL_CONTENT_URI,projection,null,null,null);
for( int i = 0 ; i < cursor.getCount(); i++)
{
cursor.moveToPosition(i);
String filePath = cursor.getString(cursor.getColumnIndex(MediaStore.Video.Thumbnails.DATA));
Log.i("info","filePath:"+filePath);
File file = new File(filePath);
Bitmap myBitmap = BitmapFactory.decodeFile(file.getAbsolutePath());
imageItems.add( new ImageItem(myBitmap, "Image#" + i) );
}
cursor.close();
return imageItems;
}
是否可以使用光标直接文件夹来获取缩略图并同时获取视频和图像缩略图?
非常感谢。
【问题讨论】:
标签: java android bitmap cursor