我在Gallery App中成功集成Universal Imageloader以显示手机存储中的图像
但是,存储在应用程序指定文件夹中的新图像(从相机/处理过的图像中捕获)不会出现在图库中。甚至应用程序重新启动。
可能是由于此错误
W/ImageLoader: Try to initialize ImageLoader which had already been initialized before. To re-init ImageLoader with new configuration call ImageLoader.destroy() at first.
我认为将新图像的细节添加到缓存将解决问题。但不知道怎么做。请帮忙
代码:活动扩展应用程序
DisplayImageOptions defaultDisplayImageOptions = new DisplayImageOptions.Builder() //
.considerExifParams(true)
.resetViewBeforeLoading(true)
.showImageOnLoading(R.drawable.nophotos)
.showImageOnFail(R.drawable.nophotos)
.delayBeforeLoading(0)
.build(); //
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(
getApplicationContext())
.defaultDisplayImageOptions(defaultDisplayImageOptions)
.memoryCacheExtraOptions(480, 800).threadPoolSize(5)
.build();
ImageLoader.getInstance().init(config);
加载所有相册
PhoneMediaControl mediaControl = new PhoneMediaControl();
mediaControl.setLoadalbumphoto(new loadAlbumPhoto() {
@Override
public void loadPhoto(ArrayList<AlbumEntry> albumsSorted_) {
albumsSorted = new ArrayList<PhoneMediaControl.AlbumEntry>(albumsSorted_);
if (mView != null && mView.getEmptyView() == null) {
mView.setEmptyView(null);
}
if (listAdapter != null) {
listAdapter.notifyDataSetChanged();
}
}
});
mediaControl.loadGalleryPhotosAlbums(mContext, 0);
有没有办法将新处理的图像添加到缓存或已启动的图像加载器
答案 0 :(得分:2)
您只需使用通用图像加载器加载图像,它就会自动缓存它。
<强>载入强>
file_import
UNIVERSAL IMAGE LOADER接受URI方案
ImageLoader imageLoader = ImageLoader.getInstance();
Uri uri = Uri.fromFile(new File("/DCIM/Camera/1470634175974.jpg"));
imageLoader.loadImage(uri.toString(), new SimpleImageLoadingListener() {
@Override
public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {
// Do whatever you want with Bitmap
}
});
答案 1 :(得分:0)
仅在UniversalImageLoader
课程的onCreate()
内,而不是在每个Application
内或其他地方内,初始化您的Activity
个实例。
答案 2 :(得分:0)
我发现这将使用函数loadImageSync();
重新解决问题ImageLoader.getInstance().loadImageSync(filepath);