博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android sqlite 图片保存和读出
阅读量:7094 次
发布时间:2019-06-28

本文共 1855 字,大约阅读时间需要 6 分钟。

package com.yiyiweixiao;import android.content.Context;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteOpenHelper;import android.database.sqlite.SQLiteDatabase.CursorFactory;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 KEYAUTOINCREMENT,image BLOB)");}// 更新数据库的方法public void onUpgrade(SQLiteDatabase db, int oldVersion, intnewVersion) {}}// 创建助手类的实例// 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;//创建一个字节数组输出流,流的大小为sizeByteArrayOutputStream 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);

转载于:https://www.cnblogs.com/xiaowangba/archive/2012/12/11/6314355.html

你可能感兴趣的文章
Centos 6.3 安装 VNC
查看>>
交换机基本命令的配置
查看>>
esxi中虚拟机中GTX1070
查看>>
docker
查看>>
vc char * 转换为 LPCTSTR的方法
查看>>
Android adb 使用详细介绍(含adb使用命令行)
查看>>
LNMP安装+cacti
查看>>
我的友情链接
查看>>
iOS 高德地图(二)(进阶具体使用的细节)
查看>>
ffmpeg常用命令
查看>>
app2sd功能解读
查看>>
TCP/IP协议族-四层网络模型(真正的实现不是7层)
查看>>
负载均衡之后的如何让应用程序获取客户端真实IP
查看>>
Integer对象的一些误解
查看>>
ubuntu下添加新用户,踢出在线用户
查看>>
chattr和lsattr命令详解
查看>>
是时候升级到 vSphere 5.1 了!
查看>>
烂泥:通过binlog恢复mysql备份之前的数据
查看>>
烂泥:源码安装apache
查看>>
apache-安全加固
查看>>