首页 > 代码库 > sqllite 图片存取

sqllite 图片存取


1、bitmap保存到SQLite 中 数据格式:    


db.execSQL("Create table express ( _id INTEGER PRIMARY KEY AUTOINCREMENT,express_no varchar(100),express_name TEXT,express_img BLOB );");



2、bitmap 变为 Blob 


ContentValues values = new ContentValues();
final ByteArrayOutputStream os = new ByteArrayOutputStream();
bmp.compress(Bitmap.CompressFormat.PNG, 100, os); 
values.put("express_img", os.toByteArray());
values.put("express_name","zf");
values.put("express_no","zf");
getContentResolver().insert("express", values);



3、从SQLite中读取Bitmap  


byte[] in=cur.getBlob(cur.getColumnIndex("express_img"));
bmpout=BitmapFactory.decodeByteArray(in,0,in.length);


 4、显示在ImageView上


ImageView imageView = (ImageView) view.findViewById(R.id.img);
ByteArrayInputStream stream = new ByteArrayInputStream(cur.getBlob(cur.getColumnIndex("express_img")));
imageView.setImageDrawable(Drawable.createFromStream(stream, "img"));


总结:

inputStream:  作为数据缓存,数据写如何供别的对象读取,其方法为read();

outputStream:作为数据缓存,将来向别的对象写内容!其方法write();


byte[] in=cur.getBlob(cur.getColumnIndex(MyUser.User.BITMAP_VALUES));

本文出自 “晚生后学” 博客,请务必保留此出处http://xiaoshudi.blog.51cto.com/8634670/1547305

sqllite 图片存取