Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
montanaPy
 Аватар для montanaPy
2 / 2 / 1
Регистрация: 19.01.2015
Сообщений: 112
#1

SQLlite: хранение изображений - Android

25.12.2015, 15:43. Просмотров 434. Ответов 7
Метки нет (Все метки)

Доброго времени суток. Объясните пожалуйста или скиньте ссылку на статью как лучше всего хранить изображения если работаешь с с БД. Как то по особенному записывать само изображение в базу данных? Мне больше нравиться вариант записей путей до самих изображений, но не могу сообразить как укладывать их чтобы приложение их нашло.
Спасибо!
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
san92der
14 / 14 / 3
Регистрация: 27.10.2012
Сообщений: 108
25.12.2015, 16:40     SQLlite: хранение изображений #2
Вроде как хранить пути в базе - самый правильный вариант. А в чем дальше-то проблема? Если не получается подцепить пути - то это уже не проблема БД. Тут уже без кода не подсказать. Если в простенькой программе получится сохранить путь в обыной строке, а потом правильно его обработать, то и с БД проблем не будет.
Советую почитать про Environment.getExternalStorageState() и Environment.getInternalStorageState(). Это будет путь до места сохранения, а в БД для начала уж можно тогда просто имена файлов хранить.
Juiceee
1 / 1 / 0
Регистрация: 07.10.2015
Сообщений: 11
25.12.2015, 16:44     SQLlite: хранение изображений #3
Можно в качестве имени файла использовать md5-хэш от файла изображения. В результате мы получим исключение дублей.
montanaPy
 Аватар для montanaPy
2 / 2 / 1
Регистрация: 19.01.2015
Сообщений: 112
25.12.2015, 16:52  [ТС]     SQLlite: хранение изображений #4
Я интересуюсь для того, что я собираю данные с помощью других ЯП, но не могу сообразить куда класть сами фотографий. Т.е в приложений они уже должны быть у пользователя. В какой каталог складывать assets/database или как то по особенному?
CoolMind
418 / 401 / 65
Регистрация: 06.10.2012
Сообщений: 1,720
26.12.2015, 09:11     SQLlite: хранение изображений #5
montanaPy, привет!
Базу данных можно выложить, например, в assets/database (или другую папку, например, assets). Дальнейшая работа будет происходить с картой памяти (внешней или внутренней). Поскольку писать в assets вам будет нельзя (он хранится внутри apk и не разрешён для записи). Можно хранить любые данные, связанные с приложением, например, в подпапке /data, и дальше там в одном из каталогов с именем вашей программы).
YuraAAA
 Аватар для YuraAAA
1564 / 1306 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
26.12.2015, 11:16     SQLlite: хранение изображений #6
Сообщение было отмечено автором темы, экспертом или модератором как ответ
montanaPy, кладите в cache директорию Вашего приложения. Имена файлов генерируйте уникальные и храните в базу, например, используя UUID.
Получится что-то типа:

SQLite
id fileName
1 f9f46d5d-fb76-4571-aff2-85019acdb68e.png

File:
new File(getExternalCacheDir(), fileName);
REALIST07
Автор FAQ
Автор FAQ
 Аватар для REALIST07
174 / 174 / 13
Регистрация: 11.06.2010
Сообщений: 932
27.12.2015, 01:04     SQLlite: хранение изображений #7
Иконки размером не больше 64х64 можно хранить в base64 формате в БД
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.12.2015, 10:51     SQLlite: хранение изображений
Еще ссылки по теме:

SQLlite взять случайную строку Android
Хранение обьектов в SQLite Android
Android Хранение переменных
Взаимодействие базы данных на SQLlite и Фрагмента и RecyclerView Android
Android Хранение и использование большого количества изображений

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
bastrakov
91 / 91 / 14
Регистрация: 10.10.2015
Сообщений: 307
Записей в блоге: 1
27.12.2015, 10:51     SQLlite: хранение изображений #8
imho, cache директория чиститься по решению операционной системы.
дефолтная директория приложения (но не cache) - не чистится.
Yandex
Объявления
27.12.2015, 10:51     SQLlite: хранение изображений
Ответ Создать тему
Опции темы

Текущее время: 03:32. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru