2009-08-17 8 views
1

Ich bin völlig neu zu flex und Action-Skript .. Ich habe ein List-Steuerelement in meiner Air-Anwendung. Wenn ich die Anwendung installiere, möchte ich automatisch eine Datei im lokalen Ordner erstellen und dann, wenn ich die Anwendung .i.e. Beginnen Sie mit der Eingabe in der List-Steuerelement, nach dem Beenden der Anwendung möchte ich diese Daten in dieser Datei gespeichert und wenn ich die Anwendung zurück öffne, wird die Liste aus der Datei geladen.Schreiben in und Abrufen von einer Datei: Liste in Flex!

Ich habe ein paar Diskussionen über dieses Problem gelesen, aber sie alle beinhalten nur Texteingaben nicht List-Steuerelemente .. Kann mir jemand sagen, wie es am besten gemacht wird, und wenn ich XML verwenden muss, dann wie zu laden und schreibe zurück zum Listensteuerelement mit XML ...

Antwort

0

Das ist nur eine Idee, ich habe es nicht ausprobiert: Warum nicht einfach das ListBase-Datenobjekt mit writeObject in einem ByteArray speichern und dann in eine Binärdatei speichern oder besser noch den EncryptedLocalStore? Dann verwenden Sie das ByteArray readObject, um es wiederherzustellen, wenn Ihre Anwendung geladen wird - kein XML erforderlich.

+0

danke ... Ich werde das versuchen :) –

+0

Eine Sache jedoch zu beachten - dies kann zu Problemen führen, wenn Sie Ihre App nach einer Änderung in Framework-Bibliothek Klassen aktualisieren. Angenommen, Sie haben ein Upgrade von Flex 3 auf 4 durchgeführt und möchten die Daten aus der Flex 3-Version lesen. –

0

Ich verstehe die Frage nicht ganz. Verwenden Sie ein editierbares Listensteuerelement, um die Daten in der Liste zu ändern?

Wenn Sie den DataProvider des List-Steuerelements an eine ArrayCollection binden, sollten Sie in der Lage sein, auf das CHANGE-Ereignis der ArrayCollection zu warten und die neuen Daten zu diesem Zeitpunkt in die Datei zu schreiben. Ob dies funktioniert oder nicht, hängt von der Art der Daten in der ArrayCollection ab.

Eine weitere Option ist, das Ereignis itemEditEnd anzuhören. Siehe hier:

http://livedocs.adobe.com/flex/3/html/celleditor_7.html#194259

+0

Danke .. ja es ist eine bearbeitbare Liste .. leer am Anfang dann als der Benutzer beginnt mit der Anwendung, er tippt es allmählich ein, Einfügen, Bearbeiten oder Löschen von Zeilen daraus .. Ich möchte nur, was auch immer gespeichert wird Wenn die Anwendung beendet wird und sie erneut gestartet wird, wird die Liste mit den aktualisierten Daten geladen. –

0

Ich will nur, was auch immer, wenn die Anwendung beendet wird gespeichert geschieht und sobald es wieder gestartet wird, wird die Liste mit den aktualisierten Daten geladen.“

Zunächst alle Flash-Player führen SWF-Dateien in einer Sandbox aus, deren Sicherheitseinstellung keinen lokalen Dateisystemzugriff zulässt. Sie können also nicht in eine lokale Datei schreiben. Wenn Sie möchten, dass Ihre Anwendung etwas speichert, müssen Sie darüber nachdenken, Daten an den Server zu senden und beim Starten der Anwendung zurück zu laden.

+0

Er sagte, es ist eine AIR-Anwendung. –

Verwandte Themen