}
通过本地视频id获取视频缩略图
// 获取视频缩略图
public Bitmap getVideoThumbnail(int id) {
Bitmap bitmap = null;
BitmapFactory.Options options = new BitmapFactory.Options();
options.inDither = false;
options.inPreferredConfig = Bitmap.Config.ARGB_8888;
bitmap = MediaStore.Video.Thumbnails.getThumbnail(mContentResolver, id, MediaStore.Images.Thumbnails.MICRO_KIND, options);
return bitmap;
}
上面获取视频列表的方法中,Video对象中有一个属性是id,通过传入这个id可以获取到视频缩略图的Bitmap对象。
获取本机所有图片文件夹
/**
- 得到图片文件夹集合
*/
public List getImageFolders() {
List folders = new ArrayList();
// 扫描图片
Cursor c = null;
try {
c = mContentResolver.query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, null,
MediaStore.Images.Media.MIME_TYPE + "= ? or " + MediaStore.Images.Media.MIME_TYPE + “= ?”,
new String[]{“image/jpeg”, “image/png”}, MediaStore.Images.Media.DATE_MODIFIED);
List mDirs = new ArrayList();//用于保存已经添加过的文件夹目录
while (c.moveToNext()) {
String path = c.getString(c.getColumnIndex(MediaStore.Images.Media.DATA));// 路径
File parentFile = new File(path).getParentFile();
if (parentFile == null)
continue;
String dir = parentFile.getAbsolutePath();
if (mDirs.contains(dir))//如果已经添加过
continue;
mDirs.add(dir);//添加到保存目录的集合中
ImgFolderBean folderBean = new ImgFolderBean();
folderBean.setDir(dir);
folderBean.setFistImgPath(path);
if (parentFile.list() == null)
continue;
int count = parentFile.list(new FilenameFilter() {
@Override
public boolean accept(File dir, String filename) {
if (filename.endsWith(“.jpeg”) || filename.endsWith(“.jpg”) || filename.endsWith(“.png”)) {
return true;
}
return false;
}
}).length;
folderBean.setCount(count);
folders.add(folderBean);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (c != null) {
c.close();
}
}
return folders;
}
其中,图片文件夹的bean类ImgFolderBean代码为:
public class ImgFolderBean {
/*当前文件夹的路径/
private String dir;
/*第一张图片的路径,用于做文件夹的封面图片/
private String fistImgPath;
/*文件夹名/
private String name;
/*文件夹中图片的数量/
private int count;