Как кешировать Firebase для хранения загруженных изображений - PullRequest
0 голосов
/ 17 января 2019

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

Мне нужно что-то вроде

FirebaseFirestoreSettings.setPersistenceEnables(true)

Моя проблема в том, что я не могу найти правильный способ сделать это.

  • Я попытался сохранить изображения в LruCache, но все кэшированные данные удаляются после закрытия приложения.
  • Я могу сохранить изображения в файл и получить их, но я не хочу, чтобы пользователь имел доступ к этим изображениям, поскольку некоторые из них могут быть защищены авторским правом.
  • Я мог бы хранить растровые изображения с помощью DiskLruCache, но не могу найти учебник, объясняющий, как он работает, и статья о нем на сайте разработчиков Android не поможет.

Возможно, `Glide - это решение, но я не смог получить сохраненное растровое изображение, когда мне это было нужно.

Есть ли правильный или лучший способ сделать это?

Ответы [ 2 ]

0 голосов
/ 17 января 2019

Попробуйте Пикассо , имеет автоматическое кэширование изображений.

0 голосов
/ 17 января 2019

Я не совсем понимаю идею загрузки изображений пользователем, их кэширования, но не позволяю отображать их позже.

На мой взгляд, у вас есть 2 варианта.

Первый - использовать кэш Glide, но у вас нет полного контроля над тем, когда и как будут очищаться изображения.

Второй вариант - сохранить изображения как files в личном каталоге (пользователь не сможет просматривать эти изображения) и создать некую логику в приложении (на основе ваших ограничений), чтобы контролировать, когда и как отображать эти изображения для пользователей в приложении.

...