0

我成功整合通用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); 

有没有什么办法来新处理的图像添加到缓存中或已经启动的图像加载器

回答

2

你只需要加载你的图像与通用图像加载器它会自动缓存它。

加载

   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 
        } 
       }); 

UNIVERSAL图像加载器ACCEPTED URI方案

"file:///mnt/sdcard/image.png" // from SD card 
"file:///mnt/sdcard/video.mp4" // from SD card (video thumbnail) 
"content://media/external/images/media/13" // from content provider 
"content://media/external/video/media/13" // from content provider (video thumbnail) 
"assets://image.png" // from assets 
"drawable://" + R.drawable.img // from drawables (non-9patch images) 
+0

先生,我需要添加新的处理过的图像已经启动的图像加载器..是否有可能 –

+0

你意味着你从相机得到一张照片,你也希望它缓存在通用图像加载器的权利? –

+0

是的...我将新图像保存到应用程序文件夹..需要添加到缓存 –

0

里面你ApplicationonCreate()初始化您UniversalImageLoader情况只有一次,而不是每个Activity或其他地方内。

+0

谢谢..这只是开始一次..我需要新的加工/保存的图像添加到已经启动的ImageLoader的是......可能 –

+0

您通过添加图像ImageLoader的意思是什么?如果你这样配置,库会自动缓存加载的图像。 –

0

我发现,这将使用函数loadImageSync()reslove问题;

ImageLoader.getInstance().loadImageSync(filepath);