Первое сообщение здесь, поэтому, пожалуйста, потерпите меня, если я что-то не так.
Я пытаюсь сохранить изображения для приложения в базе данных sqlite.Изображения должны храниться как капли (это плохая идея?).Код для этого выглядит следующим образом:
public long createPicture(String title, byte [] thumb, byte [] imageData) {
ContentValues data = new ContentValues();
data.put(T_KEY_TITLE, title);
data.put(T_KEY_CONTENT, imageData); // <-- blob in the db
data.put(T_KEY_THUMB, thumb);
// db is an SQLiteDatabase
return db.insert(TABLE_PICS, null, data); // <-- Crash occurs on this line
}
Этот код по большей части работает очень хорошо, но когда я пытаюсь сохранить большие изображения (5 мегапикселей со встроенной камеры), он вылетает.Он не только аварийно завершает работу, но также приводит к повреждению базы данных, так что происходит сбой приложения при каждой попытке его запуска.
Итак, мой вопрос: есть ли способ обойти это, или я должен поместить большие картинки в файлы и просто сохранить путь?Кроме того, я хотел бы получить некоторые общие рекомендации о том, когда использовать sqlite, а когда просто переходить на файлы.
Спасибо!:)