1、bitmap保存到SQLite 中 數據格式:
db.execSQL("Create table " + TABLE_NAME + "( _id INTEGER PRIMARY KEY AUTOINCREMENT,USER_AGE INTEGER,USER_NAME TEXT,BITMAP_VALUES BLOB );");
2、bitmap 變爲 Blob
ContentValues values = new ContentValues();
final ByteArrayOutputStream os = new ByteArrayOutputStream();
bmp.compress(Bitmap.CompressFormat.PNG, 100, os);
values.put(MyUser.User.BITMAP_VALUES, os.toByteArray());
values.put(MyUser.User.USER_NAME,"icon");
values.put(MyUser.User.USER_AGE,50);
getContentResolver().insert(MyUser.User.CONTENT_URI, values);
3、從SQLite中讀取Bitmap
byte[] in=cur.getBlob(cur.getColumnIndex(MyUser.User.BITMAP_VALUES));
bmpout=BitmapFactory.decodeByteArray(in,0,in.length);
總結:
inputStream: 作爲數據緩存,數據寫如何供別的對象讀取,其方法爲read();
outputStream:作爲數據緩存,將來向別的對象寫內容!其方法write();
byte[] in=cur.getBlob(cur.getColumnIndex(MyUser.User.BITMAP_VALUES));//這樣也可以對數據進行初始化,byte是基本類型,不需要之前進行長度定義。
轉載至:http://www.cnblogs.com/hedalixin/archive/2011/01/21/1941390.html