关于SQLite 数据库 读写图片的问题

前端之家收集整理的这篇文章主要介绍了关于SQLite 数据库 读写图片的问题前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
数据库图片的字段名为image,数据类型 是blob --------------------------------以下是存入------------------ ByteArrayOutputStream baos = new ByteArrayOutputStream(); --------------------------第一种图片数据来源----------------------------------------------------------- //如果图片数据来源是ImageView组件中的图片,可以用以下方法,mImageview_save是个ImageView的对象 //PNG是存入的图片格式,100是图片质量(0-100) ((BitmapDrawable) mImageview_save.getDrawable()).getBitmap() .compress(CompressFormat.PNG,100,baos); ---------------------------第二种图片数据来源--------------------------------------------------------- //如果图片数据来源是Drawable型,可以用以下方法,drawableimage是Drawable对象 ((BitmapDrawable) drawableimage).getBitmap().compress( CompressFormat.PNG,baos); ---------------------------第三种图片数据来源--------------------------------------------------------- //如果图片数据来源是资源ID,可以用以下方法,先将对应ID的图片对象转为drawable型 Resources res = this.getResources(); Drawable mDrawable = res.getDrawable(R.drawable.xx); ((BitmapDrawable) mDrawable).getBitmap().compress( CompressFormat.PNG,baos); ----------------------------------------------------------------------------------------------- byte[] savebyte = baos.toByteArray(); //将byte[]数据插入数据库 mdb.insertImage("cy5",savebyte); ----------------------以下是读取--------------------------------- Cursor mCursor; mCursor = mdb.queryImage("cy5"); startManagingCursor(mCursor); mCursor.moveToFirst(); byte[] getbyte = mCursor.getBlob(mCursor.getColumnIndex("image")); ByteArrayInputStream bais = new ByteArrayInputStream(getbyte); mImageview_get.setImageDrawable(Drawable.createFromStream(bais,"photo")); //photo是标识,可以不写,据说是调试的时候可能会用上.

猜你在找的Sqlite相关文章