Today I want to use the Uri of the local image resource to use ImageLoader to load the image
The result reported such an error:
You should implement this support yourself (BaseImageDownloader.getStreamFromOtherSource(...))
09-29 20:11:36.653 27465-27684/com.deltalab.urecommend E/ImageLoader: UIL doesn't support scheme(protocol) by default [/storage/sdcard/female.jpg]. You should implement this support yourself (BaseImageDownloader.getStreamFromOtherSource(...)) java.lang.UnsupportedOperationException: UIL doesn't support scheme(protocol) by default [/storage/sdcard/female.jpg]. You should implement this support yourself (BaseImageDownloader.getStreamFromOtherSource(...)) at com.nostra13.universalimageloader.core.download.BaseImageDownloader.getStreamFromOtherSource(BaseImageDownloader.java:280) at com.nostra13.universalimageloader.core.download.BaseImageDownloader.getStream(BaseImageDownloader.java:99) at com.nostra13.universalimageloader.core.LoadAndDisplayImageTask.downloadImage (LoadAndDisplayImageTask.java:291) at com.nostra13.universalimageloader.core.LoadAndDisplayImageTask.tryCacheImageOnDisk (LoadAndDisplayImageTask.java:274) at com.nostra13.universalimageloader.core.LoadAndDisplayImageTask.tryLoadBitmap (LoadAndDisplayImageTask.java:230) at com.nostra13.universalimageloader.core.LoadAndDisplayImageTask.run (LoadAndDisplayImageTask.java:136) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) at java.lang.Thread.run(Thread.java:818)
After some pointers from blogs, I summed it up:
Different paths have different methods. If it is in assets, add " assets://" before the path
There are also the following cases:
String imageUri = "http://site.com/image.png"; // from Web String imageUri = "file:///mnt/sdcard/image.png"; // from SD card String imageUri = "content://media/external/audio/albumart/13"; // from content provider String imageUri = "assets://image.png"; // from assets String imageUri = "drawable://" + R.drawable.image; // from drawables (only images, non-9patch)
Example:
How does android get the picture Uri of a SD card specified folder:
String a="file://"+Environment.getExternalStorageDirectory().getPath()+"/DCIM/Camera/";