응용 프로그램이 처음 실행되는지 확인

응용 프로그램을 업데이트한 후 사용자에게 "시작" 또는 "환영" 메시지를 제공할 수 있습니다. 응용 프로그램은 시작될 때 처음 실행되는지 여부를 확인하므로 이러한 메시지를 표시할지 여부를 결정할 수 있습니다.

참고: AIR 1.5에는 개발자가 AIR 응용 프로그램에서 적절한 업데이트 기능을 제공하는 데 도움이 되는 업데이트 프레임워크가 포함되어 있습니다. 이 프레임워크에서는 응용 프로그램 버전이 처음으로 실행되는지 여부를 확인하는 간편한 방법을 제공합니다. 자세한 내용은 업데이트 프레임워크 사용 을 참조하십시오.

이렇게 하는 한 가지 방법은 응용 프로그램을 초기화할 때 응용 프로그램 저장소 디렉토리에 파일을 저장하는 것입니다. 응용 프로그램은 시작될 때마다 해당 파일이 있는지 확인해야 합니다. 파일이 없으면 현재 사용자의 경우 응용 프로그램이 처음 실행되는 것이고, 파일이 있으면 응용 프로그램이 이미 한 번 이상 실행된 것입니다. 파일이 있고 현재 버전 번호보다 이전의 버전 번호를 포함하는 경우 사용자가 새 버전을 처음 실행하는 것입니다.

다음 Flex 예제에서는 이 개념을 보여 줍니다.

<?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>

다음 예제에서는 JavaScript에서의 이 개념을 보여 줍니다.

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

응용 프로그램에서 데이터를 응용 프로그램 저장소 디렉토리 등에 로컬로 저장하는 경우 처음 실행될 때 이전 버전에서 이전에 저장된 데이터를 확인할 수 있습니다.