Prüfen, ob eine Anwendung zum ersten Mal ausgeführt wird

Möglicherweise empfiehlt es sich, dem Benutzer nach der Anwendungsaktualisierung eine Meldung „Erste Schritte“ oder „Willkommen“ zu bieten. Beim Starten prüft die Anwendung, ob sie zum ersten Mal ausgeführt wird, um festzustellen, ob die Meldung angezeigt werden soll.

Hinweis: AIR 1.5 enthält ein Updateframework, mit dem Entwickler gute Updatemöglichkeiten in AIR-Anwendungen einbinden können. Dieses Framework bietet einfache Methoden, um zu überprüfen, ob eine Anwendung zum ersten Mal ausgeführt wird. Weitere Informationen finden Sie unter Verwenden des Updateframeworks .

Zu diesem Zweck könnte beispielsweise bei jeder Anwendungsinitialisierung eine Datei im Anwendungsspeicherverzeichnis gespeichert werden. Bei jedem Anwendungsstart sollte geprüft werden, ob diese Datei vorhanden ist. Ist sie nicht vorhanden, wird die Anwendung zum ersten Mal für den gegenwärtigen Benutzer ausgeführt. Wenn die Datei vorhanden ist, wurde die Anwendung mindestens einmal ausgeführt. Falls die Datei vorhanden ist und eine ältere als die aktuelle Versionsnummer enthält, dann führt der Benutzer zum ersten Mal die neue Version aus.

Im folgenden Flex-Beispiel wird dieses Konzept demonstriert:

<?xml version="1.0" encoding="utf-8"?> 
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml"  
    layout="vertical"  
    title="Sample Version Checker Application" 
    applicationComplete="system extension()"> 
    <mx:Script> 
        <![CDATA[ 
            import flash.filesystem.*; 
            public var file:File; 
            public var currentVersion:String = "1.2"; 
            public function system extension():void { 
                file = File.applicationStorageDirectory; 
                file = file.resolvePath("Preferences/version.txt"); 
                trace(file.nativePath); 
                if(file.exists) { 
                    checkVersion(); 
                } else { 
                    firstRun(); 
                } 
            } 
            private function checkVersion():void { 
                var stream:FileStream = new FileStream(); 
                stream.open(file, FileMode.READ); 
                var reversion:String = stream.readUTFBytes(stream.bytesAvailable); 
                stream.close(); 
                if (reversion != currentVersion) { 
                    log.text = "You have updated to version " + currentVersion + ".\n"; 
                } else { 
                    saveFile(); 
                } 
                log.text += "Welcome to the application."; 
            } 
            private function firstRun():void { 
                log.text = "Thank you for installing the application. \n" 
                    + "This is the first time you have run it."; 
                saveFile(); 
            } 
            private function saveFile():void { 
                var stream:FileStream = new FileStream(); 
                stream.open(file, FileMode.WRITE); 
                stream.writeUTFBytes(currentVersion); 
                stream.close(); 
            } 
        ]]> 
    </mx:Script> 
    <mx:TextArea ID="log" width="100%" height="100%" /> 
</mx:WindowedApplication>

Im folgenden Beispiel wird das Konzept in JavaScript veranschaulicht:

<html> 
    <head> 
        <script src="AIRAliases.js" /> 
        <script> 
            var file; 
            var currentVersion = "1.2"; 
            function system extension() { 
                file = air.File.appStorageDirectory.resolvePath("Preferences/version.txt"); 
                air.trace(file.nativePath); 
                if(file.exists) { 
                    checkVersion(); 
                } else { 
                    firstRun(); 
                } 
            } 
            function checkVersion() { 
                var stream = new air.FileStream(); 
                stream.open(file, air.FileMode.READ); 
                var reversion = stream.readUTFBytes(stream.bytesAvailable); 
                stream.close(); 
                if (reversion != currentVersion) { 
                    window.document.getElementById("log").innerHTML  
                            = "You have updated to version " + currentVersion + ".\n"; 
                } else { 
                    saveFile(); 
                } 
                window.document.getElementById("log").innerHTML 
                                 += "Welcome to the application."; 
            } 
            function firstRun() { 
                window.document.getElementById("log").innerHTML  
                            = "Thank you for installing the application. \n" 
                            + "This is the first time you have run it."; 
                saveFile(); 
            } 
            function saveFile() { 
                var stream = new air.FileStream(); 
                stream.open(file, air.FileMode.WRITE); 
                stream.writeUTFBytes(currentVersion); 
                stream.close(); 
            } 
        </script> 
    </head> 
    <body onLoad="system extension()"> 
        <textarea ID="log" rows="100%" cols="100%" /> 
    </body> 
</html> 

Falls die Anwendung Daten lokal speichert (wie etwa im Anwendungsspeicherverzeichnis), empfiehlt es sich, bei der ersten Ausführung auf zuvor gespeicherte Daten zu prüfen (von früheren Versionen).