Как динамически загружать файлы в приложении AIR?Должен ли я использовать класс File? - PullRequest
0 голосов
/ 09 февраля 2012

У меня есть файл XML, в котором указаны файлы изображений, которые мне нужно загрузить.Файл XML и файлы изображений находятся в подпапках относительно места, в котором находится приложение AIR.

Мне нужно загрузить файл XML, а также изображения (загрузить их и добавить их в качестве дочерних элементов в видеоклип)

В моем приложении AIR, когда я пытался загрузить его через URLRequest, оно не работало.

myLoader = new URLLoader();
myLoader.load(new URLRequest(xmlFilename));
myLoader.addEventListener(Event.COMPLETE, processXML);

(я знаю, что это работает из .swf b / c, который я тестировалэто)

Я нашел пример, который использует класс File, и вот мой код, и это работает:

var aFile:File = File.applicationDirectory.resolvePath( xmlFilename );
var aStream:FileStream = new FileStream();
aStream.open( aFile, FileMode.READ );
configXML = new XML( aStream.readUTFBytes( aStream.bytesAvailable ) );          
aStream.close();            
processXML();

...

Я сейчаспытаясь загрузить изображения, указанные в файле XML, и я обнаружил, что мне нужно использовать класс File для ссылки на изображение в файловой системе.

var engImageFile:File = File.applicationDirectory.resolvePath( "./english/"+ engFilename ); 

ldr = new Loader();
var urlReq:URLRequest = new URLRequest( engImageFile.url );
ldr.contentLoaderInfo.addEventListener( Event.COMPLETE, engImgLoaded );
ldr.load(urlReq);

Так AIR обращается к файлам (используя класс File), когда он хочет прочитать / загрузить / и т.д.их?

Ответы [ 2 ]

0 голосов
/ 09 февраля 2012

В документации говорится, что если вы используете класс File для доступа к файлам, то это безопасно на всех платформах. Также свойство .url объекта File будет использовать соответствующую схему URL ...

  • "app:" - относительно каталога приложения
  • "app-storage:" - относительно каталога хранения специального приложения
  • "file:" - все остальное ... Я думаю, если вы укажете абсолютный путь
0 голосов
/ 09 февраля 2012

Если я правильно понимаю ваш вопрос, я полагаю, вам просто нужно загрузить его в качестве источника данных / массива, который затем можно привязать к компоненту по вашему выбору.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...