以draw为单位读取图像

时间:2016-08-23 12:31:09

标签: android image file

我想将可绘制文件夹中的所有图像作为File对象读取,并将它们存储在File数组中。 有没有办法获取drawable中的所有图像列表并将其作为文件读取?

编辑:我需要知道以下内容..

  1. 如何从drawable文件夹中收集所有图像。我的图像根据内容有不同的有意义的名称。名称中没有共同的模式。

  2. 如何将这些图像读作File

2 个答案:

答案 0 :(得分:1)

不,因为它们不是设备上的文件。它们只是开发计算机上的文件。资源是APK本身在运行时的条目。

答案 1 :(得分:0)

首先,您需要将所有drawable转换为位图并保存到Local Storage,然后将其读取为File

您可以从此方法获取所有Drawables

public Drawable[] getAllDrawables()
    {

        Field[] ID_Fields = R.drawable.class.getFields();
        Drawable[] drawables = new Drawable[ID_Fields.length];
        for(int i = 0; i < ID_Fields.length; i++) {
            try {
                drawables[i] = ContextCompat.getDrawable(this,ID_Fields[i].getInt(null));
            } catch (IllegalArgumentException | IllegalAccessException ignored) {
                return null;
            }
        }
        return drawables;
    }

可能重复

Here