Как я могу работать с UIL для загрузки изображений, которые хранятся в cacheDir пакета приложения в Android?

Я использую Android Universal Image Loading в своем приложении для Android для загрузки изображений из Интернета, и он работает просто отлично, без ошибок outOfMemory. но я пытался использовать его с локальными уже существующими изображениями на моем устройстве (каталог кеша, например, /data/data/package-name/cache/...), но безуспешно я использовал файл:// плюс ссылку на изображение, но кажется, что у меня что-то идет не так, так как иногда загружаются изображения, а часто нет. Я попытался создать свой собственный локальный ImageDownloader, расширив ImageDownloader, но это тоже не сработало. чтобы было ясно: это не проблема разрешения, это не проблема пути! И изображения физически существуют в каталоге кеша.

вот ошибка у меня в logcat:

05-13 11:41:10.605: W/System.err(28789): java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
05-13 11:41:10.605: W/System.err(28789):    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
05-13 11:41:10.613: W/System.err(28789):    at java.lang.Thread.run(Thread.java:856)
05-13 11:41:10.613: W/System.err(28789): Caused by: libcore.io.ErrnoException: open failed: ENOENT (No such file or directory)
05-13 11:41:10.613: W/System.err(28789):    at libcore.io.Posix.open(Native Method)
05-13 11:41:10.613: W/System.err(28789):    at libcore.io.BlockGuardOs.open(BlockGuardOs.java:110)
05-13 11:41:10.613: W/System.err(28789):    at libcore.io.IoBridge.open(IoBridge.java:400)
05-13 11:41:10.613: W/System.err(28789):    ... 10 more
05-13 11:41:10.613: W/System.err(28789): java.io.FileNotFoundException: /file:/storage/sdcard0/Android/data/com.paperpad.grainedor.appservices/cache/-977741495: open failed: ENOENT (No such file or directory)
05-13 11:41:10.621: W/System.err(28789):    at libcore.io.IoBridge.open(IoBridge.java:416)
05-13 11:41:10.621: W/System.err(28789):    at java.io.FileInputStream.<init>(FileInputStream.java:78)
05-13 11:41:10.621: W/System.err(28789):    at com.paperpad.grainedor.appservices.activities.LocalImageDownloader.getStream(LocalImageDownloader.java:28)
05-13 11:41:10.621: W/System.err(28789):    at com.nostra13.universalimageloader.core.decode.BaseImageDecoder.getImageStream(BaseImageDecoder.java:84)
05-13 11:41:10.621: W/System.err(28789):    at com.nostra13.universalimageloader.core.decode.BaseImageDecoder.decode(BaseImageDecoder.java:73)
05-13 11:41:10.621: W/System.err(28789):    at com.nostra13.universalimageloader.core.LoadAndDisplayImageTask.decodeImage(LoadAndDisplayImageTask.java:290)
05-13 11:41:10.629: W/System.err(28789):    at com.nostra13.universalimageloader.core.LoadAndDisplayImageTask.tryLoadBitmap(LoadAndDisplayImageTask.java:250)
05-13 11:41:10.629: W/System.err(28789):    at com.nostra13.universalimageloader.core.LoadAndDisplayImageTask.run(LoadAndDisplayImageTask.java:131)
05-13 11:41:10.629: W/System.err(28789):    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
05-13 11:41:10.629: W/System.err(28789):    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
05-13 11:41:10.629: W/System.err(28789):    at java.lang.Thread.run(Thread.java:856)
05-13 11:41:10.629: W/System.err(28789): Caused by: libcore.io.ErrnoException: open failed: ENOENT (No such file or directory)
05-13 11:41:10.629: W/System.err(28789):    at libcore.io.Posix.open(Native Method)
05-13 11:41:10.629: W/System.err(28789):    at libcore.io.BlockGuardOs.open(BlockGuardOs.java:110)
05-13 11:41:10.629: W/System.err(28789):    at libcore.io.IoBridge.open(IoBridge.java:400)
05-13 11:41:10.629: W/System.err(28789):    ... 10 more
05-13 11:41:10.629: E/ImageLoader(28789): Image can't be decoded [/data/data/com.paperpad.grainedor.appservices/cache/medias/6/optimized/Sales_individuels_2.jpg_1280x752]

замечание по этому поводу - добавление /storage/sdcard0/Android/ из ниоткуда в моем коде!


person Driss Bounouar    schedule 13.05.2013    source источник
comment
получить путь, если файлы в списке. передайте параметр методу отображения UIL. проверьте эту ссылку stackoverflow .com/questions/9916829/   -  person Raghunandan    schedule 13.05.2013
comment
@Raghunandan Я делаю все это, я получаю имя пути и пробовал его с файлом:/// и без него, и все возможности метода отображения иногда загружают файл, а иногда загружают его, я не знаю, как ... я обновляю свой вопрос.   -  person Driss Bounouar    schedule 13.05.2013
comment
URI вашего изображения должны начинаться с file://. Например: file:///mnt/sdcard/cache/...   -  person nostra13    schedule 14.05.2013
comment
поэтому я могу понять, что невозможно получить доступ к изображениям, которые были сохранены в каталоге кеша приложения, только на SD-карте!   -  person Driss Bounouar    schedule 15.05.2013