Android 获取资产文件夹的 URI

Android get URI of assets folder

我正在尝试从我的应用程序中的资产文件夹制作一个简单的图库。 所以我创建了一个资产文件夹,并在一个名为 '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));
        }

使用这样的东西:

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