2017-02-10 2 views
3

Ich möchte eine Funktion wie Standard-Kamera-Funktion getan haben. Es gibt ein linkes Vorschaubild, welches das zuletzt aufgenommene Bild zeigt. Wenn Sie auf das Foto klicken, wird das Foto angezeigt, und ich kann zum nächsten Foto rutschen.Wie wird das zuletzt aufgenommene Bild aus einem bestimmten Ordner angezeigt?

Meine Fotos sind auf "Abc/Pictures" Ordner gelegt.

enter image description here

+0

Sie wollen das neueste Foto oder das neueste Foto aus dem Ordner "Abc/Pictures"? – thealeksandr

+0

@thealeksandr Ich möchte das neueste Foto aus dem Ordner "Abc/Pictures" herunterladen. – CauCuKien

Antwort

1

Um die neueste geänderte Datei in dem Ordner für spezifische Erweiterung

import org.apache.commons.io.FileUtils; 
import org.apache.commons.io.comparator.LastModifiedFileComparator; 
import org.apache.commons.io.filefilter.WildcardFileFilter; 

... 

    /* Get the newest file for a specific extension */ 
    public File getTheNewestFile(String filePath, String ext) { 
     File theNewestFile = null; 
     File dir = new File(filePath); 
     FileFilter fileFilter = new WildcardFileFilter("*." + ext); 
     File[] files = dir.listFiles(fileFilter); 

     if (files.length > 0) { 
      /** The newest file comes first **/ 
      Arrays.sort(files, LastModifiedFileComparator.LASTMODIFIED_REVERSE); 
      theNewestFile = files[0]; 
     } 

     return theNewestFile; 
    } 

Zusatz

Um alle Dateien zu erhalten oder nur PNG und JPEG verwenden zu erhalten

new WildcardFileFilter("*.*"); 
new WildcardFileFilter(new String[]{"*.png", "*.jpg"}); 
+0

@ Wenn der Ordner sowohl PNG-und JPG-Dateien enthalten, wie kann ich alle abfragen? – CauCuKien

+0

Hinzugefügt, wie nur Bilder oder alle Dateien zu bekommen – thealeksandr

+0

Hallo Thealeksandr, danke für Ihre Hilfe. Aber ich habe ein Problem mit dem Kinderordner. Beispiel Ich habe zwei untergeordnete Ordner des Abc-Ordners als Abc/Pictures1 und Abc/Pictures2. Wie kann ich das letzte Foto auf dem Ordner von foder Pictures1 und Pictures2 bekommen? – CauCuKien

0

Verwenden Sie den folgenden Code finden neuesten Bilder aus dem Ordner und ich hoffe, dass Sie Bilder mit dort Zeitstempel speichern, die Standard appraoch ist.

File path = new File(Environment.getExternalStorageDirectory() 
     .getPath() + "/Abc/Pictures"); 



    int imagesCount= path .listFiles().length; // get the list of images from folder 
     Bitmap bmp = BitmapFactory.decodeFile(sdcardPath.listFiles()[imagesCount - 1].getAbsolutePath()); 
     eachImageView.setImageBitmap(bmp); // set bitmap in imageview 
+0

Was ist sdcardPath? – CauCuKien

+0

Dies wird Bilder in "/ Abc/Pictures" Ordner –

+0

von Ihrem Code finden, sollte es sdcardPath zu Pfad ändern, richtig? – CauCuKien

Verwandte Themen