Как отобразить изображения из определенной папки в приложении галереи? - PullRequest
0 голосов
/ 22 февраля 2019

Я пытаюсь создать приложение галереи, которое показывает только изображения из папки со скриншотами в моем внутреннем хранилище.

Я нашел решение из здесь , но яУ меня возникают трудности с указанием пути к нужной папке.

Это фрагмент:

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

Может кто-нибудь объяснить мне, что я должен указать в этом " like ? " и какмогу ли я указать имя моей папки в этом 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);

Любые исправления будут высоко оценены.Ура!

1 Ответ

0 голосов
/ 22 февраля 2019

попробуйте с этим

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();
        }
    }
}
...