我使用sqlite I'm my app来存储和检索名字和图片。我使用下面的代码来获取要在屏幕视图中显示的图像的名称。
int resID = getResources().getIdentifier(iconName, "drawable", getPackageName());
在这里我得到这个警告
getIdentifier is discouraged because resource reflection makes it harder to perform build optimizations
这个的替代品是什么?
在此之前,我使用图像ID而不是图像名称将其存储在sqlite中,但如果我在项目重新编译后立即从drawable中添加或删除图像,则会出现问题。所以,我发现最好使用图像名称而不是图像ID来存储图像。
1条答案
按热度按时间swvgeqrz1#
这个的替代品是什么?
维护一个
Map<String, Int>
,将数据库中的标识符Map到R.drawable
内容。这样做的附加价值是,允许您重命名可绘制资源,而不会影响存储在数据库中的标识符。