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