Android save pictrue by SQLiteOpenHelper
2012-05-07 15:35
579 查看
原理:图片是二进制文件,所以使用blob类型,将图片转换成字节数组,存储到数据库中。
方法一:
方法二:如果数据表入口时一个content:URI
从数据库中读取:
方法一:
public void saveIcon(Bitmap icon) { if (icon == null) { return; } // 最终图标要保存到浏览器的内部数据库中,系统程序均保存为SQLite格式,Browser也不例外,因为图片是二进制的所以使用字节数组存储数据库的 // BLOB类型 final ByteArrayOutputStream os = new ByteArrayOutputStream(); // 将Bitmap压缩成PNG编码,质量为100%存储 icon.compress(Bitmap.CompressFormat.PNG, 100, os); // 构造SQLite的Content对象,这里也可以使用raw ContentValues values = new ContentValues(); // 写入数据库的Browser.BookmarkColumns.TOUCH_ICON字段 values.put(Browser.BookmarkColumns.TOUCH_ICON, os.toByteArray()); DBUtil.update(....);//调用更新或者插入到数据库的方法 }
方法二:如果数据表入口时一个content:URI
public void saveIcon(Bitmap icon) { if (icon == null) { return; } // 最终图标要保存到浏览器的内部数据库中,系统程序均保存为SQLite格式,Browser也不例外,因为图片是二进制的所以使用字节数组存储数据库的 // BLOB类型 final ByteArrayOutputStream os = new ByteArrayOutputStream(); // 将Bitmap压缩成PNG编码,质量为100%存储 icon.compress(Bitmap.CompressFormat.PNG, 100, os); // 构造SQLite的Content对象,这里也可以使用raw ContentValues values = new ContentValues(); // 写入数据库的Browser.BookmarkColumns.TOUCH_ICON字段 values.put(Browser.BookmarkColumns.TOUCH_ICON, os.toByteArray()); DBUtil.update(....);//调用更新或者插入到数据库的方法 }
从数据库中读取:
byte[] blob = cur.getBlob(cur.getColumnIndex(KEY_IMG)); Bitmap bmp = BitmapFactory.decodeByteArray(blob, 0, blob.length);
相关文章推荐
- Android SQLiteOpenHelper使用和源码详解
- android SQLite数据库及SQLiteOpenHelper
- android sqliteopenhelper
- android SQLite操作方法总结,SQLite用法,SQLiteOpenHelper
- 【幻化万千戏红尘】qianfeng-Android-Day13_SQLiteOpenHelper
- android SQLite操作方法总结,SQLite用法,SQLiteOpenHelper
- Android中使用SQLiteOpenHelper管理SD卡中的数据库
- Android中SQLiteOpenHelper的理解
- android SQLiteOpenHelper使用示例
- Android开发—数据库应用—访问数据表(SQLite OpenHelper) —添加检索操作(Retrieve)
- android SQLiteOpenHelper操作数据库 搜索关键字列表应用
- android SQLiteOpenHelper使用示例
- android SQLiteOpenHelper使用示例
- Android开发—数据库应用—访问数据表(SQLite OpenHelper) —添加查询
- Android-SQLiteOpenHelper
- android sqliteopenhelper 数据库操作
- Android SQLiteOpenHelper 实例方法getReadableDatabase()和getWritableDatabase() 区别
- android SQLiteOpenHelper
- Android SQLiteOpenHelper 的作用及使用
- Android SQLite数据库之三,SQLiteOpenHelper