作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发一个在 sqlite 中存储一些静态图像的应用程序,我想在 ImageView 中检索相同的图像。我该怎么做呢谢谢。
最佳答案
sqlite3支持blob
类型,可以使用blob
类型保存位图内容。
但是,blob
类型有大小限制,很难保存为 blob 类型。
所以,我建议把位图保存在本地或者sdcard上,数据库中保存路径。
添加:
表使用 blob
类型定义名称为“image”的列
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类方法或content provider,你喜欢:
公共(public)长插入(字符串表、字符串 nullColumnHack、ContentValues 值)
插入到表格中,所以它把图像保存到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);
希望它能实现你的要求。 -):
关于android - 如何在 sqlite-android 中存储和检索图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8739445/
我是一名优秀的程序员,十分优秀!