Lavorare con dati esterni in Actionscript 3.0. Caricare variabili

(scritto da , il giorno 18-03-2008 01:14)
add to my flexgala

In ogni applicativo che sia particolarmente funzionale, è necessaria l'uso del caricamento di dati esterni. Dati che possono essere utilizzati per diversi scopi. Dalla semplice informazione, ad un altrettanto semplice dato numerico che gestisca l'interfaccia grafica, e così via. In questo tutorial vedremo come caricare dati esterni partendo da un file di variabili.

In ogni applicativo che sia particolarmente funzionale, è necessaria l'uso del caricamento di dati esterni.
Dati che possono essere utilizzati per diversi scopi. Dalla semplice informazione, ad un altrettanto semplice dato numerico che gestisca l'interfaccia grafica, e così via. In questo tutorial vedremo come caricare dati esterni partendo da un file di variabili.

Ovviamente per questo nostro lavoro, ci concetreremo prevalentemente sulla programmazione Actionscript 3.

Prima di iniziare, consideriamo velocemente il file che andremo a caricare. 
I file di variabili, altro non sono che semplici file di puro testo in cui inserire coppie di "nome variabile"-"valore variabile", ad esempio: nomeUtente=fabio, dove "nomeUtente" è il nome della variabile, e "fabio" è il contenuto.

A questo punto creiamo un file semplice con il blocco note (o TextEdit se lavorate in Mac) e scriviamo quanto segue al suo interno (solo quello indicato):
nameUser=mario,gianni,paolo

Ora,salviamo questo file in una cartella ben specifica (possibilmente all'interno del progetto Flex oppure nella stessa cartella o directory del file Fla, se lavorate in Flash), con il nome "var.txt".

Il posizionamento così richiesto del file, nasce esclusivamente per esigenze di lavoro.
Cominciamo quindi con un semplice caricamento dati. A monitor (tramite metodo "trace"), ci faremo restituire i valori contenuti all'interno del file TXT.
Ultima premessa a questo lavoro. Ovviamente il file TXT precedentemente creato può essere generato dinamicamente tramite linguaggi server-side (PHP, ColdFusion, ASP.NET, ecc..), l'importante è che sia sempre costruito nella esatta maniera con cui abbiamo creato questo file. Eventuali altri variabili si sarebbero potute aggiungere, ad esempio nella seguente maniera: nameUser=mario,gianni,paolo&surnameUser=rossi,verdi,bianchi., e cioè attraverso l'uso della "&" che avrebbe concatenato le due variabili.

Vediamo quindi il codice che ci permette di estrarre questi dati ed elaborarli in Flash.

Per prima cosa dobbiamo considerare che "caricare" dati dall'esterno in Actionscript 3 significa fondamentalmente usare tre classi apposite.

La prima in ordine logico è un'istanza della classe "URLRequest". Attraverso di essa infatti indichiamo il percorso del file da caricare.
Successivamente utilizzeremo un'istanza della classe "URLLoader". Questa caricherà al suo interno i valori delle variabili contenute nel file TXT.
Da ultimo "URLVariables" e cioè quella classe che ci permetterà di gestire effettivamente i valori del file TXT.

Vediamo come:

<codice Flex 2/Actionscript 3>

  1. var path:URLRequest=new URLRequest("var.txt");
  2. var loader:URLLoader = new URLLoader(path);


Con queste due classi abbiamo solamente scritto il percorso di dove si trova il file (variabile path), quindi abbiamo caricato il valore nell'istanza URLLoader (loader).
Ora, come possiamo immaginare, non possiamo richiedere determinati valori, generare elaborazioni, se prima non sia stato completato il caricamento delle stesse variabili. Rischieremmo di avere risultati imprevisti.

Quindi aggiungiamo subito l'evento di "completamento". Solo a quel punto gestiremo le informazioni necessarie!

<codice Flex 2/Actionscript 3>

  1. loader.addEventListener(Event.COMPLETE, completeHandler);


Ora dobbiamo definire la funzione "completeHandler", per specificare "cosa" succede una volta che i dati sono stati caricati!

<codice Flex 2/Actionscript 3>

  1. function completeHandler(event:Event):void
  2. {
  3.  
  4. var variables:URLVariables = new URLVariables(loader.data);
  5. var nomeUtente:Array = variables.nameUser.split(",");
  6. for(var i:Number=0; i<nomeUtente.length; i++){
  7. trace(nomeUtente[i]);
  8. }</p>
  9. <p>}


Come è facile leggere da queste righe, abbiamo inserito nell'istanza della classe URLVariables i dati contenuti in "loader".
Quindi, secondo quanto già specificato in un nostro articolo precedente sugli array, inseriamo tali valori nell'Array "nomeUtente". I dati inseriti saranno quelli dell'istanza "variables" divisi (vedi metodo "split") dalla virgola (,) e che hanno come valore "nameUser".

A conclusione di ciò un ciclo "for" mi restituirà a monitor il contenuto di tale Array.

A questo punto si conclude il nostro tutorial. Ovviamente ricordo che il contenuto dei file di variabili cambia in funzione delle nostre necessità. Qui abbiamo visto semplicemente come estrarlo dal file TXT ed importarlo all'interno di Actionscript 3.

Nei prossimi articoli vedremo come caricare dati da un file XML, altra importantissima fonte di dati in epoca di Web 2.0




Commenti (0)

Registrati ed esegui il login se vuoi lasciare un commento

Visualizza l'articolo in formato pdfScarica o stampa l'articolo "Lavorare con dati esterni in Actionscript 3.0. Caricare variabili" in formato PDF

Torna indietro
Per collaborazioni, proposte, segnalazioni scrivete a:

Javaday 2010




  •  
    Articoli
     
  •  
    Blogs
     
  •  
    Eventi
     
  •  
    Layout
     
  •  
    in più
     
 

Utilizzare i Charts components in Flex 3 - I° parte (07-01-2010)
Una delle potenzialità messe a disposizione nel Flex Builder, nelle Flex SDK e nel futuro Flash Builder, è la possibilità di utilizzare i Charts...

JavaDay a Roma il 30 gennaio 2010 (11-12-2009)
Anche quest'anno si terrà a Roma - presso l'Università di Roma Tre - l'attesissimo evento JAVADAY oggi giunto alla 4° edizione. Una full...

Adobe AIR 2 beta su Adobe Labs (09-12-2009)
Già da qualche giorno è disponibile la nuova versione beta di Adobe AIR. Molte sono le novità che questa release presenta. Anzitutto, dato il...

FITC 2010: pronti per la 3° edizione! (22-11-2009)
Nel 2010 si terrà ad Amsterdam il 22 e 23 febbraio: segnate queste date sulla vostra agenda, mi raccomando! E' assolutamente vietato mancare! E...

Verso la creazione di Rich Web Applications con le novità di Spring 3.0 e l'integrazione con Adobe Flex (18-11-2009)
Un evento unico, completamente gratutito, condensato in 3 ore dense di contenuti e anteprime. Per la prima volta in Italia verrà presentata...

Nuovi e-seminar per FlexGALA in calendario (09-11-2009)
Come preannunciato lo scorso settembre, alla ripresa post-vacanze, eccoci con il primo appuntamento al quale faranno seguito altri eventi in...

Working on New and Legacy topics in the same time.
Author : Flexblog by Faratasystems

This very long weekend I was working on my presentations for upcoming Flex symposium in New York City. I have two topics there that should have...


continua...

Microsoft SharePoint 2010 Administrator's Companion
Author : O'Reilly New Books

Get comprehensive information to plan, deploy, administer, and support SharePoint 2010. With this ADMINISTRATOR'S COMPANION, you get...


continua...

apri dettaglio news Programming Windows Identity Foundation
Author : O'Reilly New Books


apri dettaglio news Steal This Computer Book 4.0
Author : O'Reilly New Books


JavaDay IV edizione

Data di svolgimento: 30-01-2010

A day in a differtent universe è quello che si...

Rich Web Applications con Spring Training

Data di svolgimento: 30-11-2009

Un evento unico, completamente gratutito, conde...

WorkCity ospite allo SMAU 2009

Data di svolgimento: 21-10-2009

WorkCity, nato da un'idea del nostro collaborat...

Integrare LiveCycle DS nelle architetture Enterprise

Data di svolgimento: 27-11-2008

Livecycle DS e Flex 3 sono le soluzioni di ...

Live Cycle DS best practices: creare architetture per RIA

Data di svolgimento: 05-11-2008

Livecycle DS e Flex 3 rappresentano insieme il ...

Adobe e l\'Open Source: usare le tecnologie aperte di Adobe

Data di svolgimento: 28-10-2008

Non solo licenze a pagamento: Adobe ha detto sÃ...