3 / 2 / 6
Регистрация: 19.01.2015
Сообщений: 125
|
|
1 | |
SQLlite: хранение изображений25.12.2015, 15:43. Показов 1699. Ответов 7
Метки нет (Все метки)
Доброго времени суток. Объясните пожалуйста или скиньте ссылку на статью как лучше всего хранить изображения если работаешь с с БД. Как то по особенному записывать само изображение в базу данных? Мне больше нравиться вариант записей путей до самих изображений, но не могу сообразить как укладывать их чтобы приложение их нашло.
Спасибо!
0
|
25.12.2015, 15:43 | |
Ответы с готовыми решениями:
7
Хранение и использование большого количества изображений SQLlite взять случайную строку Элемент списка listView и БД SQLlite Работа с SqlLite из нескольких потоков |
15 / 15 / 7
Регистрация: 27.10.2012
Сообщений: 112
|
|
25.12.2015, 16:40 | 2 |
Вроде как хранить пути в базе - самый правильный вариант. А в чем дальше-то проблема? Если не получается подцепить пути - то это уже не проблема БД. Тут уже без кода не подсказать. Если в простенькой программе получится сохранить путь в обыной строке, а потом правильно его обработать, то и с БД проблем не будет.
Советую почитать про Environment.getExternalStorageState() и Environment.getInternalStorageState(). Это будет путь до места сохранения, а в БД для начала уж можно тогда просто имена файлов хранить.
1
|
1 / 1 / 0
Регистрация: 07.10.2015
Сообщений: 11
|
|
25.12.2015, 16:44 | 3 |
Можно в качестве имени файла использовать md5-хэш от файла изображения. В результате мы получим исключение дублей.
1
|
3 / 2 / 6
Регистрация: 19.01.2015
Сообщений: 125
|
|
25.12.2015, 16:52 [ТС] | 4 |
Я интересуюсь для того, что я собираю данные с помощью других ЯП, но не могу сообразить куда класть сами фотографий. Т.е в приложений они уже должны быть у пользователя. В какой каталог складывать assets/database или как то по особенному?
0
|
426 / 406 / 68
Регистрация: 06.10.2012
Сообщений: 1,748
|
|
26.12.2015, 09:11 | 5 |
montanaPy, привет!
Базу данных можно выложить, например, в assets/database (или другую папку, например, assets). Дальнейшая работа будет происходить с картой памяти (внешней или внутренней). Поскольку писать в assets вам будет нельзя (он хранится внутри apk и не разрешён для записи). Можно хранить любые данные, связанные с приложением, например, в подпапке /data, и дальше там в одном из каталогов с именем вашей программы).
1
|
26.12.2015, 11:16 | 6 |
Сообщение было отмечено montanaPy как решение
Решение
montanaPy, кладите в cache директорию Вашего приложения. Имена файлов генерируйте уникальные и храните в базу, например, используя UUID.
Получится что-то типа: SQLite id fileName 1 f9f46d5d-fb76-4571-aff2-85019acdb68e.png File: new File(getExternalCacheDir(), fileName);
1
|
Автор FAQ
200 / 199 / 21
Регистрация: 11.06.2010
Сообщений: 1,024
|
|
27.12.2015, 01:04 | 7 |
Иконки размером не больше 64х64 можно хранить в base64 формате в БД
0
|
27.12.2015, 10:51 | 8 |
imho, cache директория чиститься по решению операционной системы.
дефолтная директория приложения (но не cache) - не чистится.
0
|
27.12.2015, 10:51 | |
27.12.2015, 10:51 | |
Помогаю со студенческими работами здесь
8
Взаимодействие базы данных на SQLlite и Фрагмента и RecyclerView Sqllite база как правильно обновить запись Хранение настроек в sqllite Хранение изображений и загрузка изображений Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |