Comment mettre\enregistrer les fichiers dans le répertoire de votre application? (adobe air)
Comment mettre\enregistrer les fichiers dans le répertoire de votre application? (adobe air) (exemple de code, s'il vous plaît)
OriginalL'auteur Rella | 2010-05-20
Il n'est pas recommandé, mais il est possible. Construire votre Fichier de référence comme ceci:
Dans un communiqué de construire, ce code va ÉCHOUER si vous essayez d'écrire! ADL va vous permettre d'écrire des fichiers dans le répertoire de l'application, mais pas la version verson de l'AIR. L'ensemble de l'application est la somme de contrôle d et vérifié lors de la charge.
L'utilisation de cette solution, j'ai exporté un communiqué de construire et installé. J'ai couru à l'application, pas de problème. J'ai fermé l'application et a couru de nouveau attendre l'erreur de somme de contrôle sans problèmes. Je confirme que mes fichiers copiés toujours existé dans le répertoire app. ( FB4.6 ) j'ai aussi vérifié le package air à confirmer que je n'ai pas d'abord mis les fichiers dans le communiqué. Est-il une option qui me manque, qui sont les causes de cette solution à la pause.
Un peu de mise en garde - "Sur Android, la propriété nativePath d'un objet de Fichier pointant vers le répertoire de l'application est une chaîne vide." - de l'AS3 documentation.
Fonctionne comme un charme, merci. Et pour ajouter un très valable scénario lorsque, en tant que développeur, vous devez l'enregistrer dans le répertoire de l'application, c'est quand vous avez toutes les ressources dans un dossier au sein de l'appDir et vous avez également une coutume packer qui crée un seul fichier conteneur avec toutes ces ressources. L'application est capable d'ouvrir un, mais pour le développement, vous utilisez le dossier tout sur la libération de vous envoyer les paniers de fichier conteneur. Il serait un peu plus compliqué de déplacer le fichier compressé quand vous pouvez tout simplement créé à sa place.
OriginalL'auteur Miroslav
Vous ne pouvez pas écrire à votre application AIR du Répertoire de l'Application, il n'est pas permis. Cependant, vous pouvez écrire dans un dossier de votre application AIR crée dans le répertoire de l'utilisateur, appelée l'Application Répertoire de Stockage. Si vous avez besoin de fichiers de configuration et de l', c'est probablement le meilleur endroit pour les mettre. Voir "applicationDirectory" dans la documentation en lien ci-dessous:
http://www.adobe.com/livedocs/flash/9.0/ActionScriptLangRefV3/
OriginalL'auteur debu
La accepté de répondre fonctionne!
Mais si je fais ça à la place:
Il donnera SecurityError: fileWriteResource. Cependant, si j'utilise applicationStorageDirectory au lieu de cela, le code ci-dessus va travailler. Ça ne fonctionne PAS si c'est applicationDirectory. En outre, Adobe documentation indique également qu'une application AIR ne peut pas écrire à son applicationDirectory.
Maintenant, je me demande si c'est un bug sur Adobe partie qu'ils permettent l'écriture à la applicationDirectory à l'aide de la manière suggérée par le a accepté de répondre.
OriginalL'auteur glendon
@glendon
si vous essayez d'enregistrer directement à applicationDirectory il sera en effet de jeter une erreur, mais il semble que vous pouvez déplacer le fichier dans le système de fichiers. j'ai utilisé le code ci-dessous après le vôtre:
la raison pourquoi vous ne devriez pas utiliser l'application un dossier est parce que tous les utilisateurs ont des droits pour enregistrer des fichiers dans ce dossier, alors que tout le monde va dans applicationStorageDirectory.
OriginalL'auteur joe
de l'essayer.
la sortie serait comme ça...
Cela fonctionne très bien.
OriginalL'auteur Nikhil Mahirrrao
Si vous voulez écrire le fichier dans ApplicationDirectory, droit?
S'il vous plaît n'oubliez pas d'écrire pour nativeprocess via powershell avec clé de registre pour votre currect adobe application ( exemple: C:\Program Files (x86)\AirApp\AirApp.exe avec RunAsAdmin )
Ne vous inquiétez pas!
Je sais que truc comme parfois, l'application d'écriture frist via un fichier du registre et les appels powershell par écrit nativeprocess dans un fichier du registre dans le registre des structures.
Ressemble à ma suggestion d'adobe system conseils /forum était meilleur que le problème d'accès à l'écriture des flux de fichier 🙂
J'espère que vous parce que vous le savez, mon beau truc avec nativeprocess via powershell + regedit /s \AirApp.reg
et AirApp changements dans administratived AirApp qu'il fonctionne très bien avec Administratived mode 🙂
Que votre solution doit écrire et que vous essayez - assurez-vous que votre processus d'écriture par AirApp.
OriginalL'auteur SourceSkyBoxer
cette fonction donne à votre courant d'air le dossier de l'application qui contourne le problème de sécurité:
OriginalL'auteur Murat Hodja