gpt4 book ai didi

android - 如何在 sqlite-android 中存储和检索图像

转载 作者:行者123 更新时间:2023-11-29 14:41:23 25 4
gpt4 key购买 nike

我正在开发一个在 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com