Загрузка файла AIR на компьютер пользователя

Для использования класса Updater пользователь или приложение должны сначала сохранить файл AIR на компьютер пользователя.

Примечание. AIR 1.5 содержит инфраструктуру обновления, помогающую разработчикам создавать удобные возможности обновления в приложениях AIR. Использовать эту инфраструктуру гораздо проще, чем напрямую применять метод update() класса Update. Дополнительные сведения см. в разделе « Использование инфраструктуры обновления ».

Следующий код выполняет чтение файла AIR с URL-адреса (http://example.com/air/updates/Sample_App_v2.air) и сохраняет этот файл AIR в каталог хранилища приложения.

Пример ActionScript:

var urlString:String = "http://example.com/air/updates/Sample_App_v2.air"; 
var urlReq:URLRequest = new URLRequest(urlString); 
var urlStream:URLStream = new URLStream(); 
var fileData:ByteArray = new ByteArray(); 
urlStream.addEventListener(Event.COMPLETE, loaded); 
urlStream.load(urlReq); 
 
function loaded(event:Event):void { 
    urlStream.readBytes(fileData, 0, urlStream.bytesAvailable); 
    writeAirFile(); 
} 
 
function writeAirFile():void { 
    var file:File = File.applicationStorageDirectory.resolvePath("My App v2.air"); 
    var fileStream:FileStream = new FileStream(); 
    fileStream.open(file, FileMode.WRITE); 
    fileStream.writeBytes(fileData, 0, fileData.length); 
    fileStream.close(); 
    trace("The AIR file is written."); 
}

Пример JavaScript:

var urlString = "http://example.com/air/updates/Sample_App_v2.air"; 
var urlReq = new air.URLRequest(urlString); 
var urlStream = new air.URLStream(); 
var fileData = new air.ByteArray(); 
urlStream.addEventListener(air.Event.COMPLETE, loaded); 
urlStream.load(urlReq); 
 
function loaded(event) { 
    urlStream.readBytes(fileData, 0, urlStream.bytesAvailable); 
    writeAirFile(); 
} 
 
function writeAirFile() { 
    var file = air.File.desktopDirectory.resolvePath("My App v2.air"); 
    var fileStream = new air.FileStream(); 
    fileStream.open(file, air.FileMode.WRITE); 
    fileStream.writeBytes(fileData, 0, fileData.length); 
    fileStream.close(); 
    trace("The AIR file is written."); 
}

Дополнительные сведения см. в разделе: