MediaStore.Images.Media.EXTERNAL_CONTENT_URI
String[] projection = {MediaStore.Images.ImageColumns.DATA, MediaStore.Images.ImageColumns.BUCKET_DISPLAY_NAME};
String sortOrder = MediaStore.Images.Media.DATE_TAKEN + " DESC ";
//一个辅助集合,防止同一目录被扫描多次
HashSet<String> dirPaths = new HashSet<String>();
while (cursor.moveToNext()) {
// 获取图片的路径
String path = cursor.getString(cursor.getColumnIndex(MediaStore.Images.ImageColumns.DATA));
String bucketName = cursor.getString(cursor.getColumnIndex(MediaStore.Images.ImageColumns.BUCKET_DISPLAY_NAME));
if (TextUtils.isEmpty(allFolderItem.coverImagePath)) {
allFolderItem.coverImagePath = path;
}
File parentFile = new File(path).getParentFile();
if (parentFile == null) continue;
String dirPath = parentFile.getAbsolutePath();
PicFolderItem folderItem = null;
// 利用一个HashSet防止多次扫描同一个文件夹(不加这个判断,图片多起来还是相当恐怖的~~)
if (dirPaths.contains(dirPath)) {
continue;
} else {
dirPaths.add(dirPath);
boolean isNew = true;
//判断一下是否dirPath不同,但是bucketName相同
for (PicFolderItem item : picList) {
if (item.name.equals(bucketName)) {
folderItem = item;
item.addParentPath(dirPath);
isNew = false;
break;
}
}
if (isNew) {
folderItem = new PicFolderItem();
folderItem.coverImagePath = path;
folderItem.name = bucketName;
folderItem.addParentPath(dirPath);
}
}
String[] array = parentFile.list(new FilenameFilter() {
@Override
public boolean accept(File dir, String filename) {
if (filename.endsWith(".jpg")
|| filename.endsWith(".png")
|| filename.endsWith(".jpeg"))
return true;
return false;
}
});
int arrayCount = array == null ? 0 : array.length;
folderItem.count += arrayCount;
if (!picList.contains(folderItem) && arrayCount > 0) {
picList.add(folderItem);
}
}
public static boolean isFileExist(String path) {
File file = new File(path);
if (file == null || !file.exists()) {
return false;
}
return true;
}
//一个辅助集合,防止统一目录查询多次 HashSet<String> dirPaths = new HashSet<String>();
String[] array = parentFile.list(new FilenameFilter() {
@Override
public boolean accept(File dir, String filename) {
if (filename.endsWith(".jpg")
|| filename.endsWith(".png")
|| filename.endsWith(".jpeg"))
return true;
return false;
}
});
File dirFile = new File(dir);
String[] list = dirFile.list(new FilenameFilter() {
@Override
public boolean accept(File dir, String filename) {
if (filename.endsWith(".jpg") || filename.endsWith(".png")
|| filename.endsWith(".jpeg"))
return true;
return false;
}
});
Collections.sort(strings, new Comparator<String>() {
@Override
public int compare(String lhs, String rhs) {
Long time1 = new File(lhs).lastModified();
Long time2 = new File(rhs).lastModified();
return time2.compareTo(time1);
}
});
String selection = MediaStore.Images.ImageColumns.BUCKET_DISPLAY_NAME + " = '" + 目录名称 + "' ";
String sortOrder = MediaStore.Images.Media.DATE_TAKEN + " DESC limit " + PAGE_SIZE + " offset " + pageIndex * PAGE_SIZE;
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有