Wie man\speichern von Dateien in Ihr Anwendungsverzeichnis? (adobe air)
Wie man\speichern von Dateien in Ihr Anwendungsverzeichnis? (adobe air) (code-Beispiel, bitte)
InformationsquelleAutor Rella | 2010-05-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ist es nicht unbedingt empfehlenswert, aber es ist möglich. Erstellen Sie Ihre Datei-Verweis wie dieser:
In einem release-build, dieser code schlägt FEHL, wenn Sie versuchen zu schreiben! ADL wird Ihnen erlauben, Dateien zu schreiben, die in dem Verzeichnis der Anwendung, nicht aber die der release-verson von LUFT. Die gesamte Anwendung ist-Prüfsumme würde und geprüft nach Belastung.
Mit dieser Lösung habe ich exportiert, ein release-build und installiert. Ich lief die app kein problem. Ich Schloss die app und lief wieder erwarten, dass die checksum-Fehler ohne Probleme. Ich bestätigte, dass meine kopierten Dateien noch vorhanden, die im app-Verzeichnis. ( FB4.6 ) ich habe auch überprüft das air-Paket zu bestätigen, dass ich nicht aus versehen die Dateien in der Freigabe. Gibt es irgendeine option, die ich bin fehlt, die bewirkt, dass diese Lösung zu brechen.
Ein bisschen Warnung, obwohl - "Auf Android, die nativePath-Eigenschaft eines File-Objekts zeigt auf das Verzeichnis der Anwendung eine leere Zeichenfolge." - aus AS3-Dokumentation.
Funktioniert wie ein Charme, Dank. Und um einen gültigen Szenario, wenn, als Entwickler, müssen Sie speichern, um das Verzeichnis der Anwendung, es geschieht, wenn Sie alle Ressourcen in einen Ordner innerhalb der appDir und Sie haben auch eine benutzerdefinierte packer, erstellt eine container-Datei mit allen Ressourcen. Die Anwendung ist in der Lage zu öffnen, entweder das eine, aber für die Entwicklung verwenden Sie die Ordner, während Sie auf die Freigabe, die Sie senden würde die gepackte container-Datei. Es wäre ein bisschen kompliziert, sich zu bewegen der gepackten Datei, wenn Sie können einfach erstellen lassen an seiner Stelle.
InformationsquelleAutor
Kann man nicht schreiben, um Ihre AIR-app-Anwendung-Verzeichnis, das ist nicht erlaubt. Sie kann jedoch schreiben, um einen Ordner, die Ihre AIR-Anwendung erstellt, in das Verzeichnis des Benutzers, genannt das Anwendungsspeicherverzeichnis. Wenn Sie brauchen, config-Dateien und dergleichen, das ist wahrscheinlich der beste Ort, um Sie gelegt. Siehe 'applicationDirectory' in die Google docs link:
http://www.adobe.com/livedocs/flash/9.0/ActionScriptLangRefV3/
InformationsquelleAutor
Akzeptierte Antwort funktioniert!
Aber wenn ich dies anstelle:
Wird es geben SecurityError: fileWriteResource. Allerdings, wenn ich applicationStorageDirectory statt, der obige code funktioniert. Es wird nur NICHT funktionieren, wenn die applicationDirectory. Darüber hinaus hat Adobe die Dokumentation sagt auch, dass eine AIR-app schreiben kann, um seine applicationDirectory.
Nun Frage ich mich ob es ein bug ist, die auf der Adobe-Teil, dass Sie sich schriftlich an die applicationDirectory mit der Art und Weise vorgeschlagen, durch die akzeptierte Antwort.
InformationsquelleAutor
@glendon
wenn Sie versuchen, speichern Sie direkt auf applicationDirectory wird es in der Tat einen Fehler auslösen, aber es scheint, Sie können verschieben Sie die Datei in das Dateisystem. ich verwendete den folgenden code, die nach Ihnen:
den Grund, warum Sie 'nicht' verwenden Sie den application-Ordner ist, weil nicht alle Benutzer über Rechte zum speichern von Dateien in diesen Ordner, während jeder in applicationStorageDirectory.
InformationsquelleAutor
versuchen.
die Ausgabe würde wie diese...
Diese funktionieren.
InformationsquelleAutor
Wenn Sie möchten, schreiben Sie die Datei in ApplicationDirectory, richtig?
Bitte vergessen Sie nicht, für das schreiben, für die nativeprocess-per powershell mit dem Registrierungsschlüssel für die aktuelle adobe-Anwendung ( Beispiel: C:\Program Files (x86)\AirApp\AirApp.exe mit RunAsAdmin )
Mach dir keine sorgen!
Ich kenne den trick, wie manchmal-Anwendung schreiben, frist auch über die registry-Datei und ruft powershell schreiben nativeprocess-in der registry-Datei in die registry-Strukturen.
Schauen, wie mein Vorschlag von adobe system-boards /Forums war besser, als access-problem mit dem schreiben stream mit der Datei 🙂
Ich hoffe, dass Sie, weil Sie wissen, mein netter trick mit nativeprocess per powershell + regedit /s \AirApp.reg
und AirApp änderungen in administratived AirApp als es funktioniert gut mit Administratived Modus 🙂
Als Ihre Lösung schreiben sollten und Sie versuchen - Stellen Sie sicher, dass für Ihren Schreibprozess von AirApp.
InformationsquelleAutor
diese Funktion gibt Ihren aktuellen air-Anwendung Ordner, umgeht die Sicherheits-problem:
InformationsquelleAutor