2017-01-31 2 views
3

Je suis nouveau programmeur Adobe Animate, je demande aux développeurs expérimentés ActionScripts 3, y at-il un moyen simple et par défaut pour stocker les données de préférences dans ActionScripts3 comme UNITY3D (PlayerPrefs)? ou non ce qui est le moyen le plus simple qui fonctionne sans modification pour cross plate-forme AIR?Quel est le moyen le plus simple de stocker des données de préférences dans une application AIR multiplateforme?

Lequel est meilleur et plus simple:

1. fichier texte.

2. Fichier XML.

3. Fichier JSON.

4 ... ?

Répondre

2

SharedObject semble correspondre à la description parfaitement

La classe SharedObject est utilisée pour lire et stocker des quantités limitées de données sur l'ordinateur d'un utilisateur ou sur un serveur. Les objets partagés offrent un partage de données en temps réel entre plusieurs fichiers SWF client et des objets persistants sur l'ordinateur local ou le serveur distant. Les objets partagés locaux sont similaires aux cookies de navigateur et les objets partagés distants sont similaires aux dispositifs de transfert de données en temps réel. Pour utiliser des objets partagés à distance, vous avez besoin d'Adobe Flash Media Server.

+0

'SharedObject' est le plus facile dans Flash Player, mais vous devez vous soucier de la taille maximale autorisée et si l'utilisateur a désactivé complètement OS. En utilisant AIR, il est vraiment plus simple d'utiliser 'EncryptedLocalStore' ou d'écrire dans un fichier AMF où ces restrictions ne s'appliquent pas. – Aaron

2

SharedObject est par défaut de ActionScripts et la plus simple pour stocker des données de base, il est très similaire à Unity3D (PlayerPrefs). Mais la taille des données SharedObject est limitée à 100 Ko, Unity3D PlayerPrefs est limité à 1000 Ko.

Ceci est simple à utiliser des codes SharedObject:

var DATA:SharedObject = SharedObject.getLocal("DATA_STORAGE");//Create SharedObject 

DATA.data.Data1 = "111";//Set Data 1 
DATA.data.Data2 = "222";//Set Data 2 

DATA.flush();//Write data 

trace(DATA.data.Data1);//Read Data 1 
trace(DATA.data.Data2);// Read Data 2 

//DATA.clear();//Clear all data 
+0

En fait, la limite de taille est configurable par l'utilisateur de 0 à plus de 100 Ko, 100 Ko est juste la taille par défaut. Si l'utilisateur n'a pas complètement désactivé les SO, vous pouvez demander à l'utilisateur d'autoriser plus d'espace en utilisant 'flush (minDiskSpace)'. – Aaron

+0

Merci pour votre information. –