将图像资源ID存储在Sqlite数据库中并在int数组中检索

Bhu*_*nDC -2 sqlite android android-sqlite

我正在开发一个在线购物应用程序,其中将所有产品详细信息以及产品图像的资源ID存储在Sqlite数据库中。我正在检索那些id(例如R.drawable.image1),以便显示存储在drawable文件夹中的图像。

准确地检索了ID,但发生异常,如“ InvalidNumberFormatException:R.drawable.image1”。我已经将所有id作为VARCHAR存储在sqlite中。在将它们作为字符串值检索后,如何将它们存储在int数组中?

我正在使用recyclerview显示这些图像和其他产品详细信息。任何帮助,将不胜感激。提前致谢。

小智 5

只需将图像名称存储在数据库中,并使用以下代码获取其ID

private void loadImage(String mImageName, ImageView mImageIcon){
int resID = mContext.getResources().getIdentifier(mImageName , "drawable", mContext.getPackageName());
            if(resID!=0) {//The associated resource identifier. Returns 0 if no such resource was found. (0 is not a valid resource ID.)
                mImageIcon.setImageResource(resID);
            }
}
Run Code Online (Sandbox Code Playgroud)