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

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

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

SQLlite: хранение изображений - Программирование Android

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

Доброго времени суток. Объясните пожалуйста или скиньте ссылку на статью как лучше всего хранить изображения если работаешь с с БД. Как то по особенному записывать само изображение в базу данных? Мне больше нравиться вариант записей путей до самих изображений, но не могу сообразить как укладывать их чтобы приложение их нашло.
Спасибо!
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.12.2015, 15:43
Здравствуйте! Я подобрал для вас темы с ответами на вопрос SQLlite: хранение изображений (Программирование Android):

Хранение и использование большого количества изображений - Программирование Android
Всем привет! Подскажите способ хранения большого количества изображений, чтобы можно было эти изображения удобно использовать. Смотрел...

Элемент списка listView и БД SQLlite - Программирование Android
по сути задача сводиться к тому что нужно реализовать следующее : создаём элементы в списке по кнопке адд(в Edit_activity) и по кнопке сейв...

SQLlite взять случайную строку - Программирование Android
Как в SQLlite базе взять случайную строку? Пример SELECT * FROM table ORDER BY RANDOM() LIMIT 1 работает, но пишут, что это только...

Взаимодействие базы данных на SQLlite и Фрагмента и RecyclerView - Программирование Android
Доброго времени суток. Суть проблемы в следующем: есть база с некоторым набором данных, есть фрагмент, куда внедрен RecyclerView для их...

Хранение переменных - Программирование Android
Доброго времени суток, уважаемые. Имеется около сотни переменных (не больше) которые будут изменяться раз 10-20 в день. Многие из них...

Хранение ресурсов - Программирование Android
Здравствуйте! Я недавно начала писать приложение под Android. Опыта у меня немного и я столкнулась с проблемой. Допустим, я хочу...

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

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

File:
new File(getExternalCacheDir(), fileName);
1
REALIST07
Автор FAQ
Автор FAQ
176 / 176 / 13
Регистрация: 11.06.2010
Сообщений: 932
27.12.2015, 01:04 #7
Иконки размером не больше 64х64 можно хранить в base64 формате в БД
0
bastrakov
91 / 91 / 14
Регистрация: 10.10.2015
Сообщений: 307
Записей в блоге: 1
27.12.2015, 10:51 #8
imho, cache директория чиститься по решению операционной системы.
дефолтная директория приложения (но не cache) - не чистится.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.12.2015, 10:51
Привет! Вот еще темы с ответами:

Хранение данных - Программирование Android
Ребят посоветуйте способы хранения данных приложения,и плюсы каждого из них

Хранение настроек - Программирование Android
При запуске приложения запускается Activity с 2 Spinner, и в них нужно выбрать значения. После нажатия кнопки эти значения нужно сохранить...

Хранение Message[] - Программирование Android
Приветствую. Собственно, нужно как-то хранить email письма. Они у меня в формате Message. Какой способ для этого самый подходящий?...

Хранение обьектов в SQLite - Программирование Android
У меня есть класс Document который содержит следующие поля - Номер: строка, Дата: дата, Пользователь: строка, Сумма: вещественное, Валюта:...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
27.12.2015, 10:51
Ответ Создать тему
Опции темы

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