Universal Image Loader 提供了多种加载图片的方式。
"file:///mnt/sdcard/image.png" // from SD card
"file:///mnt/sdcard/video.mp4" // from SD card (video thumbnail)
"content://media/external/images/media/13" // from content provider
"content://media/external/video/media/13" // from content provider (video thumbnail)
"assets://image.png" // from assets
"drawable://" + R.drawable.img // from drawables (non-9patch images)
但是所有这些加载图像表单文件的方式,我需要一种从内存加载的方法,因为我的图像被加密并存储在 Assets 文件夹中,当我显示此图像时,我需要以下步骤。
- 将图像解密为字节数组。
- 从字节创建位图。
- 加载/显示图像。
原来是这样的。这可能吗?
Bitmap bitmap = decrypt(encryptedImageFile);
imageLoader.displayImage(bitmap, imageView);
目前,我正在考虑将位图保存到文件并加载文件,但这需要更多时间。
最佳答案
我相信下面是你正在寻找的如果你的图像存储在 Assets 目录的图像文件夹中,那么你可以获得图像列表
private List<String> getImage(Context conetx) throws IOException {
AssetManager assetManager =conetx.getAssets();
String[] files = assetManager.list("image");
List<String> it=Arrays.asList(files);
return it;
}
请注意,不要使用 Assets 目录,而是将文件放入/res/raw,然后您可以使用以下 URI 访问它
android.resource://com.your.packagename/" + R.raw.<nameoffile>
关于android - Universal Image Loader 从内存中加载位图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29023303/