Android получить URI папки активов - PullRequest
0 голосов
/ 30 декабря 2018

Я пытаюсь создать простую галерею из папки ресурсов в моем приложении.поэтому я создал папку ресурсов и создал ее внутри каталога с именем «pics» и поместил в него несколько jpg-файлов.

Затем я сделал это, чтобы получить все изображения из изображений внутри папки assets.Я хотел получить его по URI папки активов, но он не работает, наверное, потому что URI неправильный:

Uri uriExternal = Uri.parse(getApplicationContext().getResources().getAssets().open("pics").toString());
        String[] projection = { MediaStore.MediaColumns.DATA,
                MediaStore.Images.Media.BUCKET_DISPLAY_NAME, MediaStore.MediaColumns.DATE_MODIFIED };

        Cursor cursorExternal = getContentResolver().query(uriExternal, projection, "bucket_display_name = \""+album_name+"\"", null, null);
        Cursor cursor = new MergeCursor(new Cursor[]{cursorExternal});
        while (cursor.moveToNext()) {

            path = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.MediaColumns.DATA));
            album = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Images.Media.BUCKET_DISPLAY_NAME));

            imageList.add(Function.mappingInbox(album, path, null));
        }

1 Ответ

0 голосов
/ 31 декабря 2018

Используйте что-то вроде этого:

AssetManager assets = getApplicationContext().getResources().getAssets();
String[] pics = assets.list("pics");
ArrayList<Bitmap> bmps = new ArrayList<>();

for (String path : pics) {
    bmps.add(BitmapFactory.decodeStream(assets.open(path));
}

Список bmps теперь содержит все изображения в вашей папке pics в виде растровых изображений.

Я написал это исключительно из документации иЯ не проверял это.Я рекомендую вам прочитать документацию самостоятельно, если у вас возникнут проблемы: https://developer.android.com/reference/android/content/res/AssetManager

...