1

我正在制作一个使用 ORMLite 将数据存储到 android 设备中的应用程序。

所以基本上,我创建了一个具有一些属性的类 Question,每个问题都有一个与之相关的特定图像。

我正在考虑在资产文件夹中存储我的图像,然后做这样的事情

@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 文件是否有更好的主意?我找不到一个很好的教程。

谢谢,

4

1 回答 1

2

assets文件夹仅包含您添加到应用程序中的文件。您不能写入此文件夹。

如果您只存储来自您的assets文件夹的图像,那么您的方法是正确的。否则,您应该使用context.openFileOutput()在应用程序的私有目录中创建文件,并且您仍然可以使用您的方法...保留文件的路径。

另一种选择是在Databaseasblob类型中ORMLite使用DataType.BYTE_ARRAY. 您可以查看这篇文章以了解有关此操作的更多详细信息。

于 2012-11-13T14:19:29.467 回答