sqlite 存储图片

1、bitmap保存到sqlite 中 数据格式:

Java代码
  1. db.execsql("Createtableexpress(_idINTEGERPRIMARYKEYAUTOINCREMENT,express_novarchar(100),express_nameTEXT,express_imgBLOB);");

2、bitmap 变为 Blob

ContentValuesvalues=newContentValues();
  • Bitmap bmp=BitmapFactory.decodeResource(getResources(),R.drawable.erweima);
  • finalByteArrayOutputStreamos=newByteArrayOutputStream();
  • bmp.compress(Bitmap.CompressFormat.PNG,100,os);
  • values.put("express_img",os.toByteArray());
  • values.put("express_name","zf");
  • values.put("express_no",250); line-height:18px"> getContentResolver().insert("express",values);
  • 3、从sqlite中读取Bitmap

    byte[]in=cur.getBlob(cur.getColumnIndex("express_img"));
  • bmpout=BitmapFactory.decodeByteArray(in,0)">0,in.length);
  • 显示在ImageView上

    ImageViewimageView=(ImageView)view.findViewById(R.id.img);
  • ByteArrayInputStreamstream=newByteArrayInputStream(cur.getBlob(cur.getColumnIndex("express_img")));
  • imageView.setImageDrawable(Drawable.createFromStream(stream,"img"));
  • 总结:

    inputStream: 作为数据缓存,数据写如何供别的对象读取,其方法为read();

    outputStream:作为数据缓存,将来向别的对象写内容!其方法write();

    byte[]in=cur.getBlob(cur.getColumnIndex(MyUser.User.BITMAP_VALUES));

    //这样也可以对数据进行初始化,byte是基本类型,不需要之前进行长度定义。

    相关文章

    安装 在Windows上安装SQLite。 访问官网下载下Precompliled Binaries for Windows的两个压缩包。 创建s...
    一、安装 下载地址:http://www.sqlite.org/download.html 将Precompiled Binaries for Windows下的包下...
    实例: 会员信息管理 功能:1.查看数据库 2.清空数据库 3.增加会员 4.删除会员 5.更新会员 6.查找会员  ...
    关于SQLite SQLite是一个轻量的、跨平台的、开源的数据库引擎,它的在读写效率、消耗总量、延迟时间和整...