PDA

Volledige versie bekijken : XML laden vanaf Ipod


X_OwNeR_X
%Europe/Berlin %391 %2009, 10:24
Ben ik weer :)

En heb een lastig vraagje:

Is het mogelijk een XML bestand, van een Ipod te laden in Flash?

Deze Ipod werkt samen met de Nike Sport kit die je stappen telt als je een 'workout' gaat doen.

Deze worden opgeslagen in een xml bestand genaam lastWorkout. Hoe kan ik dit xml bestand laden in Flash zodra je de Ipod aansluit? Is het een probleem dat de file in een verborgen map zit? :P

En echt een seconde later krijg ik het werkend natuurlijk XD

var loader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE, getXML);
// Request XML File from URL
loader.load(new URLRequest("F:/iPod_Control/Device/Trainer/Workouts/Empeds/4H92901VVSX/lastWorkout.xml"));

function getXML(event:Event):void {
var xmlData:XML = new XML(event.target.data);
trace(xmlData);
}

Nu laad hij de volledige xml in de Output. In de xml staat WalkBegin/WalkEnd en RunBegin/RunEnd, hoe kan ik alleen deze twee inladen? :)

W0utR
%Europe/Berlin %479 %2009, 12:30
Dat zal dan iets worden van
trace(xmlData.WalkBegin);

madweener
%Europe/Berlin %624 %2009, 15:58
xmlData.getChildByName("WalkBegin");

X_OwNeR_X
%Europe/Berlin %344 %2009, 09:15
Zo heb je 1 Ipod nano, zo heb je er ineens 6 XD

Ok maar even wat lastige vragen:

Als ik elke Ipod een unieke naam geef, kan ik dan een script maken wat zegt: als Ipod 1 is aangesloten; laad het aantal stappen.

Volgens mij worden alle Ipods in 1 keer aangesloten op hetzelfde moment. Kan ik dan alle stappen van alle Ipods laden en apart weergeven?

X_OwNeR_X
%Europe/Berlin %378 %2009, 10:04
Het lukt me om de data van 1 iPod te laden door dit te gebruiken:

var loader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE, getLoadF);
var loadF = loader.load(new URLRequest("F:/iPod_Control/Device/Trainer/Workouts/Empeds/4H92903CVSX/lastWorkout.xml"));
function getLoadF(event:Event):void {
var xmlData:XML = new XML(event.target.data);
Parsesteps(xmlData);
}

function Parsesteps(bookInput:XML):void {
var runBegin = (bookInput.stepCounts.runBegin);
var runEnd = (bookInput.stepCounts.runEnd);
trace(runEnd - runBegin)
}


Maar het lukt me niet om de data van meerdere iPods te laden, en als hij hem niet kan laden, datie dan gewoon zegt: Connect the iPod!

Crazydance
%Europe/Berlin %409 %2009, 10:50
Het lukt me om de data van 1 iPod te laden door dit te gebruiken:

*AS*

Maar het lukt me niet om de data van meerdere iPods te laden, en als hij hem niet kan laden, datie dan gewoon zegt: Connect the iPod!

En als mijn driveletter nou niet F is maar bijv. E???
Misschien is het handig om voordat je de data ophaalt de gebruiker aan te laten geven welke driveletter zijn ipod heeft gekregen... Of er moet een makkelijkere manier zijn door bijv. AIR te gebruiken voor het bekijken van alle USB apparaten? Weet niet in hoeverre je AIR kunt gebruiken voor het achterhalen van het type apparaat wat je aansluit?

X_OwNeR_X
%Europe/Berlin %482 %2009, 12:34
Ik heb nu een Universal Dock waar ik de iPods telkens insteek, deze geeft hij gewoon elke keer de letter F mee dus das niet zon probleem.

Waar het probleem zit is deze map: 4H9245KDVSX, de map wordt aangemaakt door de stappenteller van Nike(= teven het serialNummer van die stappenteller) Maar die is dus anders bij elke iPod...

X_OwNeR_X
%Europe/Berlin %386 %2009, 10:16
Opgelost door een Array te maken met daarin de map namen :)

Volgende vraag: Ik heb nu een Var die telkens iets berekent, hoe kan ik die waarde in een array gooien nadat hij het berekent heeft? :)

Crazydance
%Europe/Berlin %568 %2009, 14:39
var mathVar = doeberekening();
var calculations:Array = new Array();
calculations.push(mathVar);
function doeBerekening():number {
var num:Number = 0;
//Doe je berekening hier
return num;
}


zoiets?

X_OwNeR_X
%Europe/Berlin %600 %2009, 15:25
Ziet er goed uit, alleen de waarde van num in dit geval verandert zeg maar elke keer dat je een andere iPod inplugged :P

X_OwNeR_X
%Europe/Berlin %431 %2009, 11:20
Bennu bezig wat knoppen te maken in de vorm van iPods, als je eroverheen gaat met je muis moet er een Glow komen.

Maar merk nu dat ik voor elke iPod een Glow moet aanmaken! Kan dit niet makkelijker?