我正在开发一个应用程序,它在sqlite中存储一些静态图像,我想在imageview中检索它们。 我该怎么做呢 感谢。
答案 0 :(得分:7)
sqlite3支持blob
类型,您可以使用blob
类型保存位图内容。
但是,blob
类型具有大小限制,并且难以保存为blob类型。
因此,我建议将位图保存在本地或SD卡上,并将路径保存在数据库中。
已添加:
表使用blob
类型
Bitmap map = ...;
ByteArrayOutputStream bufferStream = new ByteArrayOutputStream(16*1024);
map.compress(CompressFormat.JPEG, 80, bufferStream);
byte[] bytes = bufferStream.toByteArray();
ContentValues values = new ContentValues();
values.put("image", bytes);
根据需要使用 SQLiteDatabase 类方法或内容提供程序转换图像字节数组:
public long insert (String table, String nullColumnHack, ContentValues values)
要插入表格,因此会将图片保存到blob
。
然后:当您查询blob
数据时,您可以创建如下图像:
BitmapFactory.Options option2 = new BitmapFactory.Options();
option2.inPreferredConfig = Bitmap.Config.RGB_565;
// added for reducing the memory
option2.inDither = false;
option2.inPurgeable = true;
return BitmapFactory.decodeByteArray(bytes, 0, bytes.length, option2);
希望它可以实现您的请求。 - ):