Android UIL不';t支持方案(协议)默认情况下,您应该自己实现此支持
您好,我正在从相机捕获图像并将其保存到SD卡中,然后通过通用图像加载器加载,但每次我都会遇到如下错误Android UIL不';t支持方案(协议)默认情况下,您应该自己实现此支持,android,universal-image-loader,Android,Universal Image Loader,您好,我正在从相机捕获图像并将其保存到SD卡中,然后通过通用图像加载器加载,但每次我都会遇到如下错误 09-20 14:38:22.617: E/ImageLoader(16626): UIL doesn't support scheme(protocol) by default [/mnt/sdcard/temp_photobooth.png]. You should implement this support yourself (BaseImageDownloa
09-20 14:38:22.617: E/ImageLoader(16626):
UIL doesn't support scheme(protocol) by default [/mnt/sdcard/temp_photobooth.png]. You should implement this support yourself (BaseImageDownloader.getStreamFromOtherSource(...))
imgLoader.displayImage(Environment
.getExternalStorageDirectory().toString()
+ File.separator + Const.TEMP_FILE, choosen_image);
有人能帮我做些什么吗?如果你从SD卡加载图像,你应该在路径前面加上
文件://
String imageUri = "http://example.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)
所以你必须这样写:
imgLoader.displayImage("file:///"+Environment
.getExternalStorageDirectory().toString() + File.separator + Const.TEMP_FILE, choosen_image);
立即创建
val config =
ImageLoaderConfiguration.Builder(mContext)
.threadPoolSize(5)
.threadPriority(Thread.MIN_PRIORITY + 2)
.defaultDisplayImageOptions(DisplayImageOptions.createSimple())
.build()
imageLoader = ImageLoader.getInstance()
imageLoader.init(config);
和供使用:例如,在“回收器”视图中绑定:
var options : DisplayImageOptions?
val strFileName :String = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).toString()+"/FolderName/"+"filename.jpg"
val imgFile = File(strFileName)
if(strFileName!="null" && imgFile.exists()) {
options = DisplayImageOptions.Builder()
.showImageOnLoading(R.drawable.ic_logo_white)
.showImageForEmptyUri(R.drawable.ic_logo_white)
.showImageOnFail(R.drawable.ic_logo_white)
.cacheInMemory(true)
.cacheOnDisk(true)
.considerExifParams(true)
.bitmapConfig(Bitmap.Config.RGB_565)
.build()
if (strFileName.contains("http")) {
imageLoader.displayImage(
strFileName,
view.imageView,
options
)
} else {
imageLoader.displayImage("file:///"+strFileName, view.imageView)
}
}
UIL能否从内部存储器加载图像?当我尝试
context.getFilesDir()+“/”+“image.jpg”
时,我遇到了相同的错误。…@kort.es尝试将“file://“+context.getFilesDir()+”/“+”image.jpg“@Siddhpura”放在一个很好的答案上
var options : DisplayImageOptions?
val strFileName :String = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).toString()+"/FolderName/"+"filename.jpg"
val imgFile = File(strFileName)
if(strFileName!="null" && imgFile.exists()) {
options = DisplayImageOptions.Builder()
.showImageOnLoading(R.drawable.ic_logo_white)
.showImageForEmptyUri(R.drawable.ic_logo_white)
.showImageOnFail(R.drawable.ic_logo_white)
.cacheInMemory(true)
.cacheOnDisk(true)
.considerExifParams(true)
.bitmapConfig(Bitmap.Config.RGB_565)
.build()
if (strFileName.contains("http")) {
imageLoader.displayImage(
strFileName,
view.imageView,
options
)
} else {
imageLoader.displayImage("file:///"+strFileName, view.imageView)
}
}