U
Unicate
Erfahrenes Mitglied
- 57
Hallo alle zusammen!
Ich zeige in einer Applikation alle Ordner die Bilder enthalten an.
Problem sind wie immer die Thumbnails. Speziell, wenn der Benutzer die sd-karte mountet, Bilder löscht und andere Bilder neu draufkopiert kommt es sehr häufig vor, das falsche Thumbnails angezeigt werden.
Hat jemand eine Idee, wie ich das gefixt bekomme?
Einfachste Reproduzierung:
* kleines Bild erstellen (zB. mit Paint ) von 4 Pixeln
* auf die sdkarte kopieren
* von der Galerie auf dem Gerät anzeigen lassen
* sdkarte erneut auf dem PC mounten und die farbe der 4 pixel ändern und speichern
* sdkarte auf dem Gerät mounten und versuchen anzeigen zu lassen
Die Galerie kann feststellen ob sie das Bild geändert hat oder nicht und erstellt die Thumbnail neu.
Wie muss ich das machen? Bei mir wird immer eine alte Thumbnail angezeigt.
Fehlgeschlagene Versuche:
Das Verzeicnis löschen scheint doch zu funktionieren, allerdings muss ich die App neu starten damit er die Änderungen erkennt.
Ich zeige in einer Applikation alle Ordner die Bilder enthalten an.
Problem sind wie immer die Thumbnails. Speziell, wenn der Benutzer die sd-karte mountet, Bilder löscht und andere Bilder neu draufkopiert kommt es sehr häufig vor, das falsche Thumbnails angezeigt werden.
Hat jemand eine Idee, wie ich das gefixt bekomme?
Einfachste Reproduzierung:
* kleines Bild erstellen (zB. mit Paint ) von 4 Pixeln
* auf die sdkarte kopieren
* von der Galerie auf dem Gerät anzeigen lassen
* sdkarte erneut auf dem PC mounten und die farbe der 4 pixel ändern und speichern
* sdkarte auf dem Gerät mounten und versuchen anzeigen zu lassen
Die Galerie kann feststellen ob sie das Bild geändert hat oder nicht und erstellt die Thumbnail neu.
Wie muss ich das machen? Bei mir wird immer eine alte Thumbnail angezeigt.
Fehlgeschlagene Versuche:
- /mnt/sdcard/DCIM/.thumbnails Verzeichnis löschen
- nicht alle Geräte haben dieses Thumbnailverzeichnis
- selbst wenn der Ordner gelöscht wird, werden die Bilder nicht richtig aktualisiert
-
Code:
File dir = new File("/mnt/sdcard/DCIM/.thumbnails"); if(dir.exists() && dir.isDirectory()) { for(File file : dir.listFiles()) { if(file.delete()) { Debug.e(TAG, file.getAbsolutePath()+" deleted!"); } } if(dir.delete()) { Debug.e(TAG, dir.getAbsolutePath()+" deleted!"); } };
Das Verzeicnis löschen scheint doch zu funktionieren, allerdings muss ich die App neu starten damit er die Änderungen erkennt.
Zuletzt bearbeitet: