AIR-bestanden naar de computer van de gebruiker downloaden

Met de klasse Updater moet de gebruiker of de toepassing eerst een AIR-bestand lokaal op de computer van de gebruiker opslaan.

Opmerking: AIR 1.5 is voorzien van een updateframework waarmee ontwikkelaars goede updatemogelijkheden kunnen inbouwen in AIR-toepassingen. In veel gevallen is het handiger om gebruik te maken van dit framework dan om de methode update() van de klasse Update rechtstreeks te gebruiken. Raadpleeg Het updateframework gebruiken voor meer informatie.

Met de volgende code wordt bijvoorbeeld een AIR-bestand gelezen van een URL (http://example.com/air/updates/Sample_App_v2.air) en wordt het AIR-bestand in de opslagmap van de toepassing opgeslagen.

ActionScript-voorbeeld:

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-voorbeeld:

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."); 
}

Raadpleeg de volgende bronnen voor meer informatie: