android读取存储mysql图片_Android 保存图片到Sqlite 数据库并从数据库中获得图片
SQlite数据库中可以直接保存图片,有两点说明:1.建数据库表时,保存图片的表字段类型为BLOB。2.图片类型为Bitmap保存到数据库中的代码如下:final ByteArrayOutputStream os = new ByteArrayOutputStream();bmp.compress(Bitmap.CompressFormat.PNG, 100, os);cv.put("pic",
SQlite数据库中可以直接保存图片,有两点说明:
1.建数据库表时,保存图片的表字段类型为BLOB。
2.图片类型为Bitmap
保存到数据库中的代码如下:
final ByteArrayOutputStream os = new ByteArrayOutputStream();
bmp.compress(Bitmap.CompressFormat.PNG, 100, os);
cv.put("pic", os.toByteArray());
代码说明:
第一行,构造一个字节输出流对象,用于保存图片数据
第二行中的bmp为要保存到数据库中图片,在此图片必须为Bitmap类型
第三行,cv为ContentValues对象,"pic"为数据库表中用于保存图片的字段名称
用sqlite工具就可以在数据库直接查看保存到数据库表中的图片
从数据库中读取图片代码如下:
byte[] data = cursor.getBlob(cursor.getColumnIndex("pic"));
BitmapFactory.Options opts = new BitmapFactory.Options();
BitmapFactory.decodeByteArray(data, 0, data.length, opts)
代码说明:
第一行,从游标cursor中获得图片数据,cursor是游标Cursor对象,"pic"为数据库表中用于保存图片的字段名称第二行第三行,利用得到的字节数组构造Bitmap对象。最后说明:通过上面的几行代码就可以实现图片在数据库中的保存、查询,但有时候在构造Bitmap对象时会出现内存溢出异常,这将在下一篇中处理
更多推荐
所有评论(0)