0

ich zwischenzuspeichern bin erfolgreich integrieren Universal-Imageloader in meiner Galerie App die Bilder aus dem TelefonspeicherAndroid: Universal-Bild Loader - neues Bild hinzufügen

Aber neue Bilder zu zeigen (erfasst von der Kamera/verarbeiteten Bilder) gespeichert in Der angegebene Ordner der App wird nicht in der Galerie angezeigt. sogar die Anwendung wurde neu gestartet.

Kann dieser Fehler

W/ImageLoader: Try to initialize ImageLoader which had already been initialized before. To re-init ImageLoader with new configuration call ImageLoader.destroy() at first. 

Ich denke, fügen Sie die Details neues Bild in den Cache wird das Problem lösen fällig. aber ich weiß nicht wie. bitte

Code helfen: Aktivität Verlängert Anwendung

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

laden alle Album

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

ist es eine Möglichkeit, neue verarbeitete Bild zu dem Cache hinzufügen oder bereits initiierter ImageLoader

Antwort

2

Sie müssen nur Ihr Bild mit Universal Image Loader laden, es wird automatisch zwischengespeichert.

Loading

   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 IMAGE LADER AKZEPTIERT URI-Systeme

"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

sir, ich muss ein neues verarbeiteter Bild zu bereits initiiertem ImageLoader hinzufügen .. ist es möglich, –

+0

Sie bedeutet, Sie bekommen ein Foto von der Kamera und Sie wollen auch Cache in Universal Image Loader richtig? –

+0

ja ... Ich habe neues Bild in den apps-Ordner gespeichert ... muss hinzugefügt werden, um den Cache –

0

Ihre UniversalImageLoader Instanz initialisieren nur einmal innerhalb onCreate() Ihrer Application Klasse, nicht jeder innerhalb Activity oder anderswo.

+0

Dank .. Es wird nur einmal ausgelöst .. Ich brauche die neue verarbeitete/gespeicherte Bild mit dem bereits eingeleiteten Imageloader hinzufügen ... ist das möglich –

+0

Was Sie durch Hinzufügen von Bild meinen wir zu Imageloader? Die Bibliothek speichert geladene Bilder automatisch im Cache, wenn Sie sie so konfigurieren. –

0

fand ich dies das Problem mit der Funktion loadImageSync() reslove;

ImageLoader.getInstance().loadImageSync(filepath);