Получение URL-адресов, связанных с кэшированными изображениями, в Glide для Android ⇐ Android
-
Anonymous
Получение URL-адресов, связанных с кэшированными изображениями, в Glide для Android
Я работаю над приложением для Android, в котором использую Glide для загрузки и кэширования изображений. Мне нужно получить URL-адреса, связанные с кэшированными изображениями, хранящимися в Glide, чтобы выполнить дальнейшие операции на основе этих URL-адресов.
Вот что я уже пробовал:
Пыталась напрямую извлечь URL-адреса из ключей кэша Glide, но обнаружила, что ключи кэша не содержат этой информации. Изучил доступ к каталогу дискового кэша для перебора кэшированных файлов изображений, но столкнулся с проблемами при связывании этих файлов с соответствующими URL-адресами. Учитывая вышеизложенное, я ищу рекомендации о том, как эффективно получить URL-адреса, связанные с кэшированными изображениями, хранящимися в Glide. Существует ли рекомендуемый подход или передовая практика для достижения этой цели? Мы будем очень признательны за любые идеи и предложения.
пожалуйста, посмотрите это:
fun getAllCachedImages(context: Context) { val glide = Glide.with(контекст) val cacheDirectory = Glide.getPhotoCacheDir(контекст) valcachedFiles =cacheDirectory?.listFiles() если (cachedFiles!= ноль) { for (файл в кэшированных файлах) { параметры вал: RequestOptions = RequestOptions().diskCacheStrategy(DiskCacheStrategy.ALL) val requestBuilder: RequestBuilder = glide.load(file).apply(options) val кэшКей: Ключ = requestBuilder.signature //он возвращает EmptySignature val кэшКей2 = Glide.with(контекст) .load(Uri.fromFile(файл)) .downloadOnly(com.bumptech.glide.request.target.Target.SIZE_ORIGINAL, com.bumptech.glide.request.target.Target.SIZE_ORIGINAL) .получать() .нанизывать() //это возвращает что-то вроде этого: // -> /data/user/0/MY_APP_PACKAGE_NAME/cache/image_manager_disk_cache/dac01c2968b075a386bcc7b8bcc4d0433e1225ae82264fb4cfc1740645e435b4.0 } } } Я использую Glide версии 4.12.0.
Моя цель — связать каждое кэшированное изображение с его исходным URL-адресом для дальнейшей обработки в моем приложении.
На этой странице упоминалось, что все ключи кэша содержат File, Uri и Url, но я не знаю, как их получить
Любые примеры кода или ссылки на соответствующую документацию будут очень полезны.
Я работаю над приложением для Android, в котором использую Glide для загрузки и кэширования изображений. Мне нужно получить URL-адреса, связанные с кэшированными изображениями, хранящимися в Glide, чтобы выполнить дальнейшие операции на основе этих URL-адресов.
Вот что я уже пробовал:
Пыталась напрямую извлечь URL-адреса из ключей кэша Glide, но обнаружила, что ключи кэша не содержат этой информации. Изучил доступ к каталогу дискового кэша для перебора кэшированных файлов изображений, но столкнулся с проблемами при связывании этих файлов с соответствующими URL-адресами. Учитывая вышеизложенное, я ищу рекомендации о том, как эффективно получить URL-адреса, связанные с кэшированными изображениями, хранящимися в Glide. Существует ли рекомендуемый подход или передовая практика для достижения этой цели? Мы будем очень признательны за любые идеи и предложения.
пожалуйста, посмотрите это:
fun getAllCachedImages(context: Context) { val glide = Glide.with(контекст) val cacheDirectory = Glide.getPhotoCacheDir(контекст) valcachedFiles =cacheDirectory?.listFiles() если (cachedFiles!= ноль) { for (файл в кэшированных файлах) { параметры вал: RequestOptions = RequestOptions().diskCacheStrategy(DiskCacheStrategy.ALL) val requestBuilder: RequestBuilder = glide.load(file).apply(options) val кэшКей: Ключ = requestBuilder.signature //он возвращает EmptySignature val кэшКей2 = Glide.with(контекст) .load(Uri.fromFile(файл)) .downloadOnly(com.bumptech.glide.request.target.Target.SIZE_ORIGINAL, com.bumptech.glide.request.target.Target.SIZE_ORIGINAL) .получать() .нанизывать() //это возвращает что-то вроде этого: // -> /data/user/0/MY_APP_PACKAGE_NAME/cache/image_manager_disk_cache/dac01c2968b075a386bcc7b8bcc4d0433e1225ae82264fb4cfc1740645e435b4.0 } } } Я использую Glide версии 4.12.0.
Моя цель — связать каждое кэшированное изображение с его исходным URL-адресом для дальнейшей обработки в моем приложении.
На этой странице упоминалось, что все ключи кэша содержат File, Uri и Url, но я не знаю, как их получить
Любые примеры кода или ссылки на соответствующую документацию будут очень полезны.
Мобильная версия