Варианты хранения изображений в SqliteDatabase - PullRequest
0 голосов
/ 24 января 2012

Я пишу приложение PhoneGap для первоначальной работы на Android.

Я пишу это, чтобы собирать изображения с камеры и сохранять их в базе данных (база данных SQLite, использующая функциональность HTML5 для баз данных).

Таким образом, есть два варианта: сохранить изображения в базе данных, сохранить изображения на SD-карте и сослаться на них по имени файла.

Итак, сохраняя их на SD-карте, как я могу остановить их удаление? Я не могу правильно, я имею в виду, они могли бы также извлечь SD-карту.

Сохраняя их в базе данных, спецификация HTML5 предполагает, что размер базы данных не должен превышать 5 МБ, и в этом случае пользователю будет задан вопрос, хотят ли они увеличить размер. Но, возможно, это не проблема для приложения PhoneGap?

1 Ответ

1 голос
/ 24 января 2012

Моя рекомендация - хранить изображения в виде файлов в файловой системе. После того, как вы сделаете снимок, он будет на SD-карте, но затем вы будете использовать File API для перемещения изображений в / data / data / {имя пакета приложения}. Этот каталог защищен, и пользователь вряд ли удалит файлы в этой песочнице. Он также имеет дополнительный бонус, который, когда ваше приложение удалено, что каталог очищен.

Это поможет вам решить множество проблем с фотосъемкой и возвратом данных Base64. На многих телефонах камера настолько хороша, что закодированная в base64 строка вызывает ошибку нехватки памяти, поэтому я советую людям избегать использования опции DATA_URL, когда это возможно. Кроме того, теперь вы храните намного меньше данных в своей БД и не будете так легко ограничивать размер.

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