当前位置: 代码迷 >> java >> 如何在图库应用程序中显示特定文件夹中的图像?
  详细解决方案

如何在图库应用程序中显示特定文件夹中的图像?

热度:41   发布时间:2023-08-04 09:14:17.0

我正在尝试创建一个画廊应用程序,该应用程序仅显示来自内部存储中的屏幕快照文件夹中的图像。

我从找到了解决方案,但在如何指定所需文件夹的路径上遇到困难。

这是代码段:

cursor imagecursor = getContentResolver().query( MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
                        columns, 
                        MediaStore.Images.Media.DATA + " like ? ",
                        new String[] {"%/yourfoldername/%"},  
                        null);

有人可以解释一下我应该在" like ? "中输入" like ? "以及如何在new String[] {"%/yourfoldername/%"},指定文件夹名称new String[] {"%/yourfoldername/%"},

这是我的代码。

String[] projection = { MediaStore.MediaColumns.DATA,
                    MediaStore.Images.Media.BUCKET_DISPLAY_NAME, MediaStore.MediaColumns.DATE_MODIFIED };

Cursor cursor = getContentResolver().query( MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
                    projection,
                    MediaStore.Images.Media.DATA + " like ? ",
                    new String[] {"%/sdcard/DCIM/Screenshots"},
                    null);

任何更正将不胜感激。 干杯!

试试这个

public static String getRealPathFromUri(Context context, Uri contentUri) {
    Cursor cursor = null;
    try {
        String[] proj = { MediaStore.Images.Media.DATA };
        cursor = context.getContentResolver().query(contentUri, proj, null, null, null);
        assert cursor != null;
        int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
        cursor.moveToFirst();
        return cursor.getString(column_index);
    } finally {
        if (cursor != null) {
            cursor.close();
        }
    }
}
  相关解决方案