Aller au contenu | Aller au menu | Aller à la recherche

Site membre du réseau Izardev et LCNET

Chargement de données externes en actionscript

Si envoyer des requêtes SQL ou écrire dans un fichier à partir d'une animation flash simple n'est pas possible, on peut en revanche lire un fichier en actionscript. Nous pouvons ainsi récupérer des données, souvent au format XML, voire une chaine de requête.

Chargement d'un fichier externe

Pour charger un fichier externe, on utilise les classes URLLoader et URLRequest. C'est un peu le même processus que le chargement d'images externes (avec Loader et URLRequest). On procède comme suit :

import flash.events.*;
import flash.net.*;

// Création des loaders et ajout des écouteurs
var oLoader:URLLoader = new URLLoader ();
oLoader.addEventListener(Event.COMPLETE, loadedHandler);
oLoader.addEventListener(IOErrorEvent.IO_ERROR, errorHandler);

// Création de la requête http
var oRequest:URLRequest = new URLRequest ("exemple.xml");

//chargement du fichier
oLoader.load(oRequest);

/**
 * Le chargement du fichier est terminé
 * @param    evt
 */
function loadedHandler (evt:Event):void
{
    var contenu:String = evt.target.data;
}
/**
 * Erreur de chargement du fichier
 * @param    evt
 */
function errorHandler(evt:IOErrorEvent):void 
{
    trace(evt);
}

Récupération des données

Les données contenues dans le fichier peuvent être récupérées lorsque le chargement est terminé, c'est à dire dans la fonction loadedHandler() :

function loadedHandler (evt:Event):void
{
    var contenu:String =  evt.target.data;
}

La variable contenu est donc une chaine qui va contenir le texte du fichier : s'il s'agit d'un fichier XML, on peut créer un objet XML ACtionscript à partir de cette variable, tout simplement de cette manière :

function loadedHandler (evt:Event):void
 {
     var contenu:String =  evt.target.data;
  var xml:XML = new XML(contenu);
 }

Mode de réception des fichiers chargés

Actionscript permet de définir un mode de réception des fichiers chargés avec URLLoader, 3 modes sont définis :

  1. binary , URLLoaderDataFormat.BINARY : Indique que les données téléchargées doivent être reçues en tant que données binaires brutes
  2. text, URLLoaderDataFormat.TEXT : Indique que les données téléchargées doivent être reçues au format texte
  3. variables, URLLoaderDataFormat.VARIABLES : Indique que les données téléchargées doivent être reçues en tant que variables de code URL

On déclare le mode de réception après la création de l'objet URLLoader :

// Création des loaders et ajout des écouteurs
var oLoader:URLLoader =  new URLLoader ();
oLoader.dataFormat = URLLoaderDataFormat.TEXT;

On utilise text la plupart du temps pour charger des données XML ou texte, il arrive aussi de vouloir récupérer des données au format VARIABLES, ce sont des fichiers contenant un texte de ce type :

variable1=hello&variable2=world

On récupérait souvent des fichiers de ce type en Actionscript 2.

Partagez cet article !

  • Delicious
  • Stumbleupon
  • Digg
  • Facebook
  • Google
  • Linkedin
  • Yahoo Buzz
  • Twitter
Vous avez apprécié cet article ?

Commentaires S'abonner au flux RSS des commentaires

Ajouter un commentaire

Les commentaires sont tous validés par un modérateur, votre commentaire n'apparaît pas directement sur le site.
Aucun support n'est assuré ici, vous pouvez néanmoins laisser vos remarques et critiques sur l'article, les points de vue pertinents sont toujours les bienvenus.