我需要将资源文件夹中的图像保存在SQLite数据库中。此数据库已预先加载(复制到数据/路径),因此运行时不会填充。我试图在SQLite的文本字段中保存它:" R.drawable.picture1"。
我的drawable文件夹中有大约300张小尺寸照片(jpg)。当我运行查询时,游标返回特定字符串。现在我需要在ImageView上将其设置为ImageResource,但无论我尝试它,它似乎都不起作用。
我尝试将其解析为int,但似乎无法正常工作。无论我尝试什么,logcat一直告诉我R.id.picture1不是一个有效的整数。我前段时间已经看过一个可能的解决方案,但是我整天都在搜索它,但似乎无法找到它。
我不想要的:将图像转换为字节数组,以便将其保存为blob。我只需要一种方法来存储和检索可绘制的引用,我可以使用它来在ImageView上设置drawable。
我没有经验,所以我希望有人可以帮助我。
答案 0 :(得分:7)
如果您拥有资源的名称,则可以查找资源标识符并将其用于ImageResource。
int resId = context.getResources().getIdentifier("picture1","drawable",context.getPackageName());
image.setImageResource(resId);;