Как вставить собственное изображение в таблицу SQLite? - PullRequest
0 голосов
/ 10 февраля 2019

Я создал таблицу с информацией о пользователе, уже сохраненной в ней.Когда пользователь регистрируется с идентификатором, все детали, такие как имя пользователя, курс, извлекаются из таблицы, если идентификатор совпадает.Теперь я хочу добавить фотографии профиля в мою таблицу информации о пользователе.Почти все учебные пособия в Интернете посвящены сохранению фотографии с вашего телефона в эту базу данных и ее извлечению.Но я не хочу этого.Я хотел бы добавить разные изображения в таблицу для каждого пользователя, то есть он должен быть конкретным для пользователя.Теперь я знаю, что используется тип данных BLOB, и изображения должны быть преобразованы в байты.Но я не знаю, где мне хранить изображения, в моем телефоне или в папке res.Или, может быть, хранить его в Интернете.Я сбит с толку.Я должен отметить, что это не идеальное приложение, это просто модель.

Ответы [ 2 ]

0 голосов
/ 13 февраля 2019

Для тех, у кого такой же вопрос, как и у меня, я нашел этот учебник как самый простой способ хранения изображений и их извлечения.Он использует внешнюю базу данных sqlite для хранения изображений и информации и доступа к ней на странице Java, чтобы отобразить, что я нашел довольно легко.

0 голосов
/ 10 февраля 2019

Одним из наиболее важных факторов, который следует учитывать, является размер изображений.Если размер может превышать, скажем, 200 КБ, тогда возрастает риск возникновения проблем не с сохранением изображения в базе данных, а с извлечением изображения.

Без написания собственной альтернативы CursorWindow, тогдаРазмер CursorWindow (буфер для хранения подгруппы строк в Cursor) ограничен размером 2M (в некоторых более поздних версиях я считаю, что это 1M).Если размер изображения приближается к 2 МБ, он не может быть извлечен (даже без учета места для других столбцов).

Таким образом, обычно рекомендуется не хранить изображения, а хранить средства извлечения.изображение из хранилища файлов в другом месте (вы упомянули папку res, что может быть хорошо, но вам может потребоваться учитывать размер APK), затем вы можете сохранить путь к файлу в базе данных.

Существует более полный ответ, который охватывает вышеупомянутое, включая хранение небольших изображений в БД и больших изображений в другом месте (папка ресурсов) здесь

...