Foto-app hält galerie nicht aktuell

SuchANewbie

Mitglied
Hallo, ich habe eine Foto-App gebaut, die meine geschossenen Bilder in einem anderem ordner abspeichert. Die Bilder lass ich mit der android galerie anzeigen, was auch super funktioniert, ausser dass es mir die neuesten Bilder erst nach einiger Zeit angezeigt wird..
Ich konnte bisher nicht rausfinden warum dies so ist.

Ich habe diesen Code, direkt nachdem das Foto geschossen und gespeichert wird sowie wenn die Galerie geöffnet wird
Java:
sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://gallerie_app/")));

scheint aber nicht zu funktionieren.

Jemand eine Idee, wie ich die Galerie immer aktuell halten kann?

Gruß
Newbie
 

dzim

Top Contributor
Ich hätte ja gedacht, dass du dir nur das Medienverzeichnis holen musst und gut ist. Aber damit hatte ich noch nichts zu tun, also tendiert mein Einfallsreichtum hier tatsächlich gegen 0.
 

SuchANewbie

Mitglied
Ja das dachte ich auch, aber die Galerie wird nur aktualisiert wenn ich mein handy an/aus-schalte, das Handy USB-gekoppelt hatte o.ä.
Durch Broadcast wird aktualisierung erzwungen, aber dies dauert zwischen 20 und 60 sekunden

Hat sich aber leider schon wieder erledigt, da ich die Galerie so nicht verwenden kann/darf/soll^^

Noch eine Abschlussfrage:
Java:
 String [] IMAGES = getFilePaths().toArray(new String[getFilePaths().size()]);

In getFilePaths (ArrayList) sind meine Pfade zu Bildern gespeichert. Kann ich mit dem oben geschriebenen Code den Inhalt in ein String Array umwandeln?
 
Zuletzt bearbeitet:

dzim

Top Contributor
ich glaub du musst noch das leere "{}" anhängen, aber sonst: ja. Wieso nicht.
Nur eine Frage: Wozu? Du hast doch schon die ArrayList, warum dann noch mal extra Speicher mit dem Array belegen?
 

SuchANewbie

Mitglied
Habe mir mal den Universal image loader angesehen, in seinem Sample möchte er einen befüllten Stringarray, da dachte ich mir: "Hey wieso wandelst du deine ArrayList, wo alle deine Pfade gespeichert sind, nicht in ein String array um"
Bin ich überhaupt auf dem richtigen Weg? Oder kann ich vielleicht mit sowas in die Richtung:
Java:
"file:///" + Environment.getExternalStorageDirectory() + "/gallerie_app/"
                    + File.separator
etwas erreichen? Aber ich glaube mit der Lösung kann ich nicht automatisch aktualisieren lassen wenn neue Bilder hinzukommen, liege ich da richtig?

Falls ich einen grundlegenden Fehler habe bitte darauf hinweisen.
 

dzim

Top Contributor
Nur so als Frage: Warum machst du das so kompliziert mit dem File-Dingens?
Warum nicht einfach [c]File f = new File(Environment.getExternalStorageDirectory(), "gallerie_app");[/c]? Frage am Rande: "gallerie_app" ist der Name, den du gewählt hast, oder?
Falls du den URI-String brauchst bietet File immer noch die Methode #toURI()...

Darüber hinaus solltest du auch in Android (solange deine Anwendung läuft) auch einen Observer verwenden können:
FileObserver | Android Developers
Damit solltest du (wenn er richtig konfiguriert ist), das Galerie-Verzeichnis überwachen können und über neue Bilder informiert werden.
 

SuchANewbie

Mitglied
"gallerie_app" ist der Name meines Ordners wo die Bilder gespeichert werden. Diesen möchte ich auslesen lassen und (Universal Image Loader greift auf ein String array auf die Pfade zu, die im Sample manuell/händisch eingepflegt wurden) automatisch in ein String array einlesen lassen

Verstehst du was ich tun möchte? Habe die Pfade bisher in einer ArrayList gespeichert, kann ich diese in ein String Array umwandeln oder ist das nicht möglich?

Ist das so verständlich was ich tun möchte?
 

SuchANewbie

Mitglied
Auch dieses Problem habe ich lösen können..

Fehlt eigentlich nur noch, dass die Images die mal gecached sind auch da bleiben, bzw im Hintergrund schonmal geladen werden sollen und nicht erst wenn ich nach unten scrolle. Einmal gecached sollen sie auch da bleiben bis der cache gelöscht wurde. ist dies möglich?
 

dzim

Top Contributor
Das sie Asynchron nachgeladen werden macht schon sinn. Ich denke, hier wird ein Adapter verwendet. Das spart Speicher!
 

Neue Themen


Oben