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本身是一个很小型的数据库, ...
随机推荐
- Atitit 图像处理 halcon类库的使用 范例边缘检测 attilax总结
Atitit 图像处理 halcon类库的使用 范例边缘检测 attilax总结 1.1. 安装halcon11 ..体积大概1g压缩模式1 1.2. Halcon的科技树1 1.3. 启动 &qu ...
- 浏览器自动转换URL编码产生乱码问题
如果网址中含有汉字,浏览器会自动将其转换成URL编码,而在接收端,它又自动转换回来. 大部分时候都没什么问题,但有时候就很讨厌.因为生成这种URL编码,编码时的字符集和解码字符集不一定相同,比如编码时 ...
- FFmpeg(12)-使用NDK通过GLSurfaceView完成视频的播放
一.包含头文件和库文件 这里采用的是NDK中的ANativeWindow来完成视频的播放,因为需要添加相关的库和头文件. CMakeLists target_link_libraries( # Spe ...
- linux内核编译错误集锦
1,我是用的ubuntu16.04 32位系统编译内核linux-3.0.1出现如下错误:Can't use 'defined(@array)' (Maybe you should just omit ...
- Python处理大数据
起因 Python处理一下数据,大概有六七个G,然后再存到另外一个文件中,单线程跑起来发现太慢了,数据总量大概是千万行的级别,然后每秒钟只能处理不到20行--遂想怎么提高一下速度 尝试1-multip ...
- H3C交换机SNMP配置
1.启动/关闭SNMP Agent服务 在系统视图模式下: 启用:snmp-agent 关闭:undo snmp-agent 注:缺省情况下snmp agent是关闭的 2. 使能或禁止SNMP相应版 ...
- java 多线程 24 : 线程组
线程组 可以把线程归属到某一个线程组中,线程组中可以有线程对象,也可以有线程组,组中还可以有线程,这样的组织结构有点类似于树的形式,如图所示: 线程组的作用是:可以批量管理线程或线程组对象,有效地对线 ...
- django配置超级管理员
Admin站点管理: 概述: 内容发布:负责添加,修改,删除内容的 公告访问 配置Admin应用: 在settings.py文件中的INSTALLED_APPS中添加'django.contrib.a ...
- win8 无法显示桌面,运行explorer.exe 提示 0xc0000018 异常 解决办法
win8 无法显示桌面,运行explorer.exe 提示 0xc0000018 错误 解决方法改注册表.这个就是DB03.EXE引起的. cmd打开注册表:regedit找到注册表"HKE ...
- 审计一波appcms-持续更新。
废话 看到土司大牛都在审计,作为彩笔也要审计下去.该文章置顶持续更新.大家有啥可以评论区交流. 先对其目录进行分析 -admin/ #后台文件 - - -cache/ #缓存目录 -core/ #核心 ...