這幾天剛好在整資料庫的相關問題,把android的表徵圖儲存到資料庫當中。
涉及到intent和bitmap對象的儲存,首先說下intent。
儲存intent:
在intent中有個toURI方法可以把intent轉換成String類型的資料,然後可以把intent看成TEXT類型的資料存進資料庫當中。轉換過後的類型如下:商賬追收
#Intent;component=com.android.settings/.Settings;end
取出intent:
當要擷取intent的時候,首先用Cursor的getString方法獲得資料庫中的值,然後調用Intent的parseUri方法把string類型轉換成intent類型資料。
接下來說說資料庫存取圖片資訊。
儲存圖片:bitmap
private byte[] getIconData(Bitmap bitmap){
int size = bitmap.getWidth()*bitmap.getHeight()*4;
ByteArrayOutputStream out = new ByteArrayOutputStream(size);
try {
bitmap.compress(Bitmap.CompressFormat.PNG, 100, out);
out.close();
} catch (IOException e) {
e.printStackTrace();
}
return out.toByteArray();
}
擷取圖片:
Bitmap getIconFromCursor(Cursor c, int iconIndex) {
byte[] data = c.getBlob(iconIndex);
try {
return BitmapFactory.decodeByteArray(data, 0, data.length);
} catch (Exception e) {
return null;
}
}