Android获取资产文件夹的URI

时间:2018-12-30 20:48:20

标签: android gallery

我正在尝试从我的应用程序中的资产文件夹制作一个简单的图库。 所以我创建了一个资产文件夹,并在名为“ pics”的目录中创建了文件,并在其中放置了一些jpg文件。

然后,我这样做是从资产文件夹内的图片中获取所有图像的。我想通过资产文件夹的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 :(得分:0)

使用类似这样的内容:

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