I am just wondering, how can I convert from byte array to blob?
My database looks like this:
Photo
id (int) | image_key (blob)
This is my code:
//this for getting data from picture
Bitmap yourImage = extras.getParcelable("data");
// convert bitmap to byte
ByteArrayOutputStream stream = new ByteArrayOutputStream();
yourImage.compress(Bitmap.CompressFormat.PNG, 100, stream);
//the problem is right here, i want to convert this byte array, to a blob data type
byte imageInByte[] = stream.toByteArray();
How can I convert this byte array into my database photo, and put it in field image_key (blob)? Because I tried but got an error. Can anybody help me about this error? Please I need help..
解决方案
I guess your code was
SQLiteDatabase.execSQL("INSERT INTO Photo (image_key) VALUES ('" + byteArray + "')");
That won't work because use byteArray will be converted to a String "B@421a0a0"
use SQLiteDatabase.execSQL(String sql, Object[] bindArgs) instead
SQLiteDatabase.execSQL("INSERT INTO Photo (image_key) VALUES (?)", byteArray);