Flash si XML – importa date externe in Flash
Poate ca cea mai uzuala forma de a importa date dinamic in Flash este prin XML. Desi este o metoda des intalnita, multe persoane inca fie nu stiu cum se face deloc, fie nu stiu cum se face bine.
Sa incepem. In prima faza vom construi fisierul XML cu care ne vom juca in acest tutorial. Sa il numim proba.xml.
<?xml version="1.0"?>
<elemente>
<element nume="primul" />
<element nume="ultimul" />
</elemente>
Prima linie de cod defineste tipul documentului si versiunea de XML folosita. Dupa aceea cream o categorie-mama numita elemente. In aceasta categorie avem 2 copii numiti element, fiecare avand atributul nume cu valori diferite.
Acum partea de ActionScript.
var fisierXML:XML = new XML();
fisierXML.ignoreWhite = true;
fisierXML.onLoad = citesteDate;
fisierXML.load("proba.xml");
Definim o variabila de tip XML numita fisierXML. In ordinea liniilor de cod efectuam urmatoarele operatiuni: setam atributul ignoreWhite ca adevarat, aceasta fiind setat default ca fals, in momentul in care incepem incarcarea fisierului XML pornim functia citesteDate si dupa aceea setam calea catre fisierul XML.
IMPORTANT! ignoreWhite trebuie setat ca adevarat inainte de a incarca fisierul XML pentru ca acesta poate corupe continutul incarcabil. Defapt, acest atribut nu face altceva decat sa ii spuna Flash-ului sa sara peste spatiile goale dintre elementele fisierului XML.
Acum sa definim functia citesteDate.
var denumiri:Array = new Array();
function citesteDate() {
var noduri:Array = this.firstChild.childNodes;
for ( i = 0; i < noduri.length; i++ ) {
denumiri.push(noduri[i].attributes.nume);
}
}
Definim un vector care va contine valorile copiilor din XML (in cazul nostru atributul nume). Puteti citi mai multe despre vectori in Flash aici.
In cadrul functiei definim o variabila noduri de tip vector care are urmatoarea valoare: XML.Primul Copil/Categoria Mama.Copii. Mai exact, fisierXML.elemente.element[1,2,3,4...n]. Dupa aceea, intr-un loop care se repeta pana cand i va fi egal cu lungimea vectorului noduri, vectorul denumiri va primi valorea atributului nume din cadrul nodului curent.
Haideti sa detaliem putin aceasta operatiune.
denumiri.push(noduri[i].attributes.nume);
Vectorul denumiri inregistreaza fiecare valoare pe pozitii consecutive. Atributul .push ne asigura ca valorea curenta este mai mare cu o unitate decat valorea precedenta. In cadrul acestei cresteri, valoarea pozitiei curente a vectorului denumiri primeste valorea din fisierXML.elemente.element[i].nume (scris detaliat, ca sa puteti intelege). Practic toata aceasta formula fisierXML.elemente.element[i].attributes.nume se transcrie in ActionScript-ul nostru in noduri[i].attributes.nume.
Acum avem toate datele din XML citite in Flash. Dar cand stim daca s-au incarcat toate datele? Flash-ul incarca XML-ul, dar timpul de incarcare variaza de la conexiune la conexiune.
Cea mai eficienta metoda este de a genera un interval care sa verifice daca s-au incarcat sau nu toate datele.
intervalIncarcare = setInterval(verificaIncarcare, 100);
function verificaIncarcare(){
if ( fisierXML.loaded ) {
clearInterval(intervalIncarcare);
trace("XML incarcat");
}
}
Prima linie de cod stabileste intervalul si parametrii sai. In cazul nostru, intervalul se numeste intervalIncarcare si repeta functia verificaIncarcare la fiecare 100ms.
In cadrul functiei verificaIncarcare verificam prin parametrul .loaded daca fisierul XML a fost incarcat. Acest parametru va returna adevarat daca s-au incarcat toate datele. Daca totul este incarcat, atunci curatam intervalul (nu mai avem nevoie sa repete functia) si afisam un mesaj de succes.
Cam asta ar fi partea basic de lucru in Flash cu fisiere XML. Vor veni si chestiuni mai complexe, so stay close.
C'ya next time!
Ti-a placut articolul Flash si XML – importa date externe in Flash?
TweetAi nevoie de rezolvarea unei probleme la informatica?
Iti recomandam si urmatoarele articole:
Discuta articolul Flash si XML – importa date externe in Flash
Contul tau
Categorii
- Atestat Info C/C++ (21)
- Atestat Info Pascal (21)
- Learn AJAX (3)
- Learn Android (5)
- Learn C++ (32)
- Learn CSS (11)
- Learn Database (9)
- Learn Flash (33)
- Learn HTML (14)
- Learn JAVA (9)
- Learn Javascript (14)
- Learn jQuery (17)
- Learn Pascal (28)
- Learn PHP (21)
- Learn SQL (5)
- Learn Visual FoxPro (4)
- Tips & Tricks (22)
Mozku Network
Ne gasesti si pe Facebook
Articole noi
- Cum sa detectati rezolutia telefonului intr-o aplicatie Android
- Cum se evita oprirea fortata a unei aplicatii
- Cum sa porniti o activitate noua in Android
- Cum sa adaugati un ImageView intr-o aplicatie Android
- Cum sa adaugati un Button intr-o aplicatie Android
- Cum sa utilizati un ArrayList in Java
- Bifeaza toate checkbox-urile folosind jQuery
- Validare formular folosind jQuery
Fisiere populare
- Proiect Atestat Informatica Visual FoxPro (439)
- Twitter Patterns (202)
- Flash Newsletter (126)
- hitTest Flash (99)
- Baza de date auto revizuita (98)
