Как я могу сохранить изображение и получить то же самое в sqlite-Android - PullRequest
1 голос
/ 05 января 2012

Я разрабатываю приложение, которое хранит некоторые статические изображения в sqlite, и я хочу получить то же самое в просмотре изображений.как мне это сделать спасибо.

1 Ответ

7 голосов
/ 05 января 2012

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);

Надеюсь, оно сможет выполнить ваш запрос.-):

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...