sqlite3 поддерживает тип blob
, вы можете сохранить растровое содержимое, используя тип blob
.
Однако тип blob
имеет ограничение размера, и для сохранения в тип BLOB-объекта используетсятрудно.
Итак, я предлагаю сохранить локальное или растровое изображение и сохранить путь в базе данных.
добавлено :
В таблице определите столбец с именем 'image', используя blob
type
Bitmap map = ...;
ByteArrayOutputStream bufferStream = new ByteArrayOutputStream(16*1024);
map.compress(CompressFormat.JPEG, 80, bufferStream);
byte[] bytes = bufferStream.toByteArray();
ContentValues values = new ContentValues();
values.put("image", bytes);
, преобразуйте байтовый массив изображения, используя SQLiteDatabase метод класса или поставщик контента, как вам нравится:
public long insert (String table, String nullColumnHack, ContentValues values)
для вставки в таблицу, чтобы сохранить изображение в blob
.
, а затем: при запросе данных blob
,Вы можете создать изображение следующим образом:
BitmapFactory.Options option2 = new BitmapFactory.Options();
option2.inPreferredConfig = Bitmap.Config.RGB_565;
// added for reducing the memory
option2.inDither = false;
option2.inPurgeable = true;
return BitmapFactory.decodeByteArray(bytes, 0, bytes.length, option2);
Надеюсь, оно сможет выполнить ваш запрос.-):