android sqlite blob
BOLB表示二进制大对象,这种数据类型通过用来保存图片,图象,视频等。
使用场景:
http://blog.sina.com.cn/s/blog_8cfbb99201012oqn.html
public class MySQLiteOpenHelper extends SQLiteOpenHelper {
// 重写构造方法
public MySQLiteOpenHelper(Context context, String name,
CursorFactory cursor, int version) {
super(context, name, cursor, version);
}
// 创建数据库的方法
public void onCreate(SQLiteDatabase db) {
// 创建一个数据库,表名:imagetable,字段:_id、image。
db.execSQL("CREATE TABLE imagetable (_id INTEGER PRIMARY KEY AUTOINCREMENT,image BLOB)");
}
// 更新数据库的方法
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}
// 创建助手类的实例
// CursorFactory的值为null,表示采用默认的工厂类
mySQLiteOpenHelper = new MySQLiteOpenHelper(this, "saveimage.db", null,1);
// 创建一个可读写的数据库
mydb = mySQLiteOpenHelper.getWritableDatabase();
//将图片转化为位图
Bitmap bitmap1=BitmapFactory.decodeResource(getResources(), R.drawable.erweima);
int size=bitmap1.getWidth()*bitmap1.getHeight()*4;
//创建一个字节数组输出流,流的大小为size
ByteArrayOutputStream baos=new ByteArrayOutputStream(size);
//设置位图的压缩格式,质量为100%,并放入字节数组输出流中 bitmap1.compress(Bitmap.CompressFormat.PNG, 100, baos);
//将字节数组输出流转化为字节数组byte[]
byte[] imagedata1=baos.toByteArray();
//将字节数组保存到数据库中
ContentValues cv=new ContentValues();
cv.put("_id", 1);
cv.put("image", imagedata1);
mydb.insert("imagetable", null, cv);
//关闭字节数组输出流
baos.close();
从数据库中查询的方法:
//创建一个指针
Cursor cur=mydb.query("imagetable", new String[]{"_id","image"}, null, null, null, null, null);
byte[] imagequery=null;
if(cur.moveToNext()){
//将Blob数据转化为字节数组imagequery=cur.getBlob(cur.getColumnIndex("image"));
}
//将字节数组转化为位图
Bitmap imagebitmap=BitmapFactory.decodeByteArray(imagequery, 0, imagequery.length);
iv1=(ImageView) findViewById(R.id.imageView1);
//将位图显示为图片
iv1.setImageBitmap(imagebitmap);
android sqlite blob的更多相关文章
- Android Sqlite 数据库版本更新
Android Sqlite 数据库版本更新 http://87426628.blog.163.com/blog/static/6069361820131069485844/ 1.自己写一个类继承 ...
- Android SQLite总结(一) (转)
Android SQLite总结(一) 郑海波 2012-08-21 转载请声明:http://blog.csdn.net/nuptboyzhb/article/details/7891887 前言 ...
- Android SQLite 数据库 增删改查操作
Android SQLite 数据库 增删改查操作 转载▼ 一.使用嵌入式关系型SQLite数据库存储数据 在Android平台上,集成了一个嵌入式关系型数据库--SQLite,SQLite3支持NU ...
- Android SQLite总结[转载]
[转载] :http://blog.163.com/zqy216_2008/blog/static/4119371820119954812509/ 最近在做的项目涉及到了SQLite,大学时没有好好学 ...
- Android SQLite 通配符查询找不到参数问题
使用Android SQLite中SQLiteDatabase类的query方法查询时,如果where中包含通配符,则参数会无法设置,如类似下面的方法查询时 SQLiteDatabase db = d ...
- Android+Sqlite 实现古诗阅读应用(三)
往期传送门: Android+Sqlite 实现古诗阅读应用(一) Android+Sqlite 实现古诗阅读应用(二) 加入截图分享的功能. 很多应用都有分享的功能,我也想在我的古诗App里加入这个 ...
- Android+Sqlite 实现古诗阅读应用(二)
传送门:Android+Sqlite 实现古诗阅读应用(一) Hi,又回来了,最近接到很多热情洋溢的小伙伴们的来信,吼开心哈,我会继续努力的=-=! 上回的东西我们做到了有个textview能随机选择 ...
- android SQLite使用SQLiteOpenHelper类对数据库进行操作
android SQLite使用SQLiteOpenHelper类对数据库进行操作 原文: http://byandby.iteye.com/blog/835580
- Android sqlite管理数据库基本用法
Android操作系统中内置了sqlite数据库(有关sqlite数据库详细介绍见:http://zh.wikipedia.org/wiki/SQLite),而sqllite本身是一个很小型的数据库, ...
随机推荐
- mysql 数据类型TIMESTAMP用法
在mysql数据库中,timestamp数据类型是一个比较特殊的数据类型,可以自动在不使用程序更新情况下只要更新了记录timestamp会自动更新时间. 通常表中会有一个Create date 创建日 ...
- 【Unity】第9章 粒子系统
分类:Unity.C#.VS2015 创建日期:2016-05-02 一.简介 粒子是在三维空间中渲染出来的二维图像,主要用于在场景中表现如烟.火.水滴.落叶.--等各种效果. Unity粒子系统 ( ...
- [Windows Azure]The Autoscaling Application Block
The Autoscaling Application Block 5 out of 6 rated this helpful - Rate this topic ...
- 每日英语:Got 5 Minutes? 'Flash Fiction' Catches On
Chinese author Lao Ma has a simple approach to his short stories: In the face of life, everything is ...
- 一、图解Java中String不可变性
这里有一堆例子来说明Java的String的不可变性. 1.声明一个String String s = "abcd"; s 变量保存string对象的引用,下面的箭头解释成保存了哪 ...
- 【C/C++】void指针知多少
void指针 void指针平时用的地方不多,但是不代表它不重要 #include <stdio.h> typedef ]; //指针数组的指针类型 int main(void) { voi ...
- ubuntu14 安装 端口转发工具rinetd
1,下载 第一中方式 用 apt-get install rinetd 或者从官网下载http://www.boutell.com/rinetd/ 2,配置,端口转发的配置在 /etc/rinet ...
- Android下基于PCM的音频渲染
环境准备 请按照我之前的文章-Android下基于SDL的位图渲染,安装必要的开发环境. 实践篇 这里主要参考Beginning SDL 2.0(6) 音频渲染及wav播放,只不过将源从WAV文件改成 ...
- win8共享文件设置 详细教程
1.开放防火墙445端口 2.进入组策略,依次进入 从网络访问计算机 属性里--添加-Guest 3.进入 然后把里面的用户清空 4.打开网络和共享中心,关闭密码保护共享
- kill-9导致weblogic无法启动
转载自:http://blog.csdn.net/lykangjia/article/details/17486127?rsv_upd=1 今天单位系统遇到一个问题: Resolve Weblogic ...