我正在使用ORMLite创建一个应用程序来将数据存储到Android设备中。
所以基本上,我创建了一个带有一些属性的类问题,每个问题都有一个与之相关的特定图像。
我正考虑在资产文件夹中存储我的图像,然后执行类似这样的操作
@DatabaseField
private String pathToTheImage;
然后循环每个问题:
ImageView iv = (ImageView)view.findViewById(R.id.image);
iv.setImageDrawable(new BitmapDrawable(view.getContext().getAssets().open(myQuestion.getpathToTheImage())));
所以我的问题是,有更好的想法在Android DB中存储png文件吗?我找不到一个很好的教程。
谢谢,
答案 0 :(得分:2)
assets
文件夹仅包含您添加到应用程序的文件。你不能写入这个文件夹。
如果您只存储来自assets
文件夹的图片,那么您的方法是正确的。否则,您应该使用context.openFileOutput()
在应用程序的私人目录中创建文件,您仍然可以使用您的方法...保留文件的路径。
另一种方法是使用Database
在blob
ORMLite
DataType.BYTE_ARRAY
类型的{{1}}类型中对您的图片进行报道。您可以查看此post以获取有关此操作的更多详细信息。