Accueil > > > TOUT CE QUE VOUS AVEZ TOUJOURS VOULU SAVOIR SUR LES SHAREDOBJECT
TOUT CE QUE VOUS AVEZ TOUJOURS VOULU SAVOIR SUR LES SHAREDOBJECT
Information sur le tutoriel
Note :
9,64 / 10
Description
Reprise et développement de la classe SharedObject. Limitation et avantages. Comment et quand les utiliser? Syntaxe et exemples
Tutorial
Ce tutorial s'efforce de couvrir toute la classe SharedObject: définition, utilisation et limitation. Il s'adresse à tous ceux qui veulent découvrir cette classe ou à ceux qui veulent maîtriser son utilisation et ses applications.
SharedObject: c'est une classe, comme la classe Sound ou MovieClip. Son utilisation première est le stockage de données, de tous types, en local, soit sur la machine de l'utilisateur ou sur le serveur. Elle est disponible depuis Flash 6, plus connu sous le nom redoutable de Flash MX.
L'avantage premier d'un SharedObject est sa versatilité, sa souplesse d'utilisation. On peut l'utiliser pour stocker tout type de variables, on ou off line et sans faire appel à une technologie résidante sur le poste client, tel que PHP ou ASP combiné avec une base SQL ou ACCESS. SharedObject génère un fichier en local, finalement comparable à un fichier texte, mais encodé. (Il semblerait, après quelques recherches, que ce soit proche du C. Si quelqu'un peut apporter son opinion fondée là-dessus, il est la bienvenue.)
A chaque création d'un SharedObject,Flash va donc générer et sauver un fichier sur le poste du client,fichier dont l'extension est .sol. Nous sommes donc confrontés à deuxparamètres ici: l'autorisation d'écrire sur le poste client, etl'espace alloué pour effectuer cette écriture. Et nous abordons là leslimitations du SharedObject: l'espace dont on peut disposer. Par défaut, Flash aloue 100 Ko sur le poste client pour le stockage de SharedObject. Nous verrons plus loin comment modifier ce paramètre.
Passons maintenant la classe SharedObject en détail
1) syntaxe so = SharedObject.getLocal("LeNomDuSO", "/")
- getLocal est la méthode invoquée afin de stocker sur le disque du poste client ou sur un serveur le fichier LeNomDuSO.sol.
- / représente le chemin de l'enregistrement du SharedObject. Ce paramètre est optionel.
2) nommage (c'est pas très beau ce mot, si vous avez mieux) on peut attribuer toute sorte de nom à son SharedObject: statique ou dynamique.
ex: so = SharedObject.getLocal("UnNom", "/") ou encore: var NomDynamique:String = "StringLambda" so = SharedObject.getLocal(NomDynamique, "/") //en fait, le fichier ainsi créé sera: StringLambda.sol
3) usage l'espace alloué par défaut est de 100Ko, mais il est possible de changer cette valeur. Si vous avez besoin de plus d'espace, utiliser la classe System et la méthode showSettings: System.showSettings(1) //l'argument 1 ici ouvrira la fenètre de paramétrage directement sur l'onglet d'allocation d'espace.
4) objet de la classe SharedObject c'est l'objet data. Il peut être de n'importe quel type: Array, Number, String... ex: so = SharedObject.getLocal("MonSo" , "/") so.data.Param1 = "100" // l'objet data.Param1 est une chaîne et sa valeur est: "100"
so.data.Param2 = 25 // l'objet data.Param2 est un nombre et sa valeurest: 25
so.data.Param3 = [] // l'objet data.Param1 est un tableau non définit
so.data.Param4 = UserName.text // ici, l'objetdata.Param4 prendra la valeur qui sera saisie dans le champ de texteUserName.
5) handler il n'y en a qu'un: onStatus. Qui comme on peut le supposer nous retourne le status du SharedObject.
Il n'y a que 3 status:
- en attente ou pending en anglais,
- sauvegarde réussie ou true, et enfin
- sauvegarge impossible, onStatus retournera alors false.
important onStatus ne peut être invoqué qu'avec une fonction qui elle, retournera l'état du SharedObject.
ex: msg.html = true // ce champ de texte va nousafficher le status du SharedObject // le format html offre plus de fonctions que le format text msg.multiline = true so = SharedObject.getLocal("MonSo" , "/") so.onStatus = function(EtatDuSo:Object){ //création de la fonction qui va nous retourner l'état du SharedObject for (var i in EtatDuSo){ msg.htmlText += i + "\t" + EtatDuSo[i] //affichage de l'état du SharedObject } msg.htmlText += }
Puisque nous n'avons toujours pas cherché à sauvegarder unSharedObject, pour l'instant cette instruction n'a pas été initiée. Pour cefaire nous allons utiliser la méthode flush().
6) méthodes La première et celle sans qui rien n'arrive est la méthode flush(), quiindique à l'application qu'il faut sauvegarder vos différents data.Par défaut, le SharedObject sera flushé lors de la fermeture de votreapplication. Ce n'est donc pas une instruction obligatoire mais leflush peut aussi être déclanché par un onPress.
ex: so = SharedObject.getLocal("MonSo" , "/") so.data.param1 = 25
this.FlushBouton.onPress = function(){ // bien evidemment, cela aurait aussi fonctionné avec un onRelease... so.flush() }
le fichier MonSO.sol a été créé, et la valeur 25 a été passée à l'objetdata.param1. Lorsque vous appelerez votre SharedObject, c'est cettevaleur que vous récupererez pour l'objet data.param1. Ainsi:
so = SharedObject.getLocal("MonSo" , "/") LaTailleDuNainDeJardin = so.data.param1 // ici, donc 25
bien sûr, les combinaisons sont multiples: so = SharedObject.getLocal("MonSo" , "/") LaTailleDuNainDeJardin.text = so.data.param1 + " cm" // affichera dans le champ LaTailleDuNainDeJardin: 25 cm
on peut aussi spécifier la taille en octet à "flusher", ou en fait, lataille que l'on désire attribuer au SO lors de sa création, et plustard de sa mise à jour: Soit:
so = SharedObject.getLocal("MonSo" , "/") so.data.param1 = 25 so.flush(1000000) // alloue 1 Mo pour le stockage du SO. ici, sil'utilisateur n'a pas changé ses paramètres // par défaut, la fenêtre deparamétrage du player apparait et demande si l'utilisateur // veut alloué plus d'espace à lasauvegarde de données.
La deuxième méthode est clear() qui on s'en doute, va purger leSharedObject. Attention,elle va juste le purger, à savoir rendre nulltous les data du SharedObject, mais le fichier existe toujours et doncle SharedObject aussi, ainsi que son référencement.
ex: so = SharedObject.getLocal("MonSo" , "/") so.clear() // la référence vers MonSO est toujours active et lefichier MonSO.sol existe toujours
Enfin, voici la moins utilisée des méthodes: getSize(). Elle retournela taille en bytes la taille du fichier SO. Or, pour ce faire, elle vaparcourir chaque objet, donc chaque data. plus vous avez sauve de data,plus le processus sera long et consommera des ressources systèmes.Macromedia recommande son utilisation qu'en cas de besoin trèsspécifique, à vous de voir.
ex: so = SharedObject.getLocal("MonSo" , "/") var ByteSO:Number = so.getSized() trace("la taille de votre objet est de: " + ByteSO)
***********************************************************************
Voilà pour la théorie, les utilisations peuvent être de toutes sortes:sauvegarde d'un score, paramétrage d'une application, ou encorestockage de données et archivage d'états d'un objet, couleur, taille ouposition. a nouveau, le principal intérèt de la classe SharedObjectréside dans son utilisation offline, permettant de sauver et derécupérer des données hors plateforme technologique.
Entraînez-vous à utiliser SharedObject pour réaliser un compteur depassage sur un site ou encore un journal de bord à entrées multiples.si les avis sont favorables, ces deux exemples seront mis en ligne d'ici8 jours, ce qui vous laisse le temps de plancher dessus.
Merci. Et bon SharedObject!
Commentaires
|
Derniers Blogs
TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE !MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE ! par Vko
Hier durant une session dédiée aux Techdays 2012, j'ai eu le plaisir d'annoncer la sortie de la Béta 2 de Mishra Reader. C'est quoi ? Pour les utilisateurs, c'est une vraie expérience de lecture de flux RSS sur Windows. Rien à voir avec les produit...
Cliquez pour lire la suite de l'article par Vko [FRAMEWORK 4] LES TASKS ET LE THREAD UI[FRAMEWORK 4] LES TASKS ET LE THREAD UI par fathi
Je viens de passer quelques temps au TechDay's et j'ai pu voir pas mal de session intéressante. Par contre une chose m'a un peu étonné lors de certaines de ces sessions qui abordaient les améliorations du framework .NET (donc le 4.5) : en gros, bea...
Cliquez pour lire la suite de l'article par fathi WORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBEWORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBE par JeremyJeanson
Depuis déjà un an, je conseille vivement les utilisateurs de Workflow Foundation 3 à migrer vers la version 4. L'information qui va suivre ne devrait donc pas trop prendre au dépourvu les personnes qui m'ont suivi. Je profite de ce poste, pour faire le re...
Cliquez pour lire la suite de l'article par JeremyJeanson TECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PCTECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PC par ROMELARD Fabrice
Speakers: Thierry Rapatout, Antoine Petit et Xavier Trebbia Cette session entre dans le cadre des RDV Décideurs des TechDays 2012, elle est liée à la consumérisation de l'IT et la mise en place du "DeskTop as a Service" dans de plus en ...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|