응용 프로그램을 업데이트한 후 사용자에게 "시작" 또는 "환영" 메시지를 제공할 수 있습니다. 응용 프로그램은 시작될 때 처음 실행되는지 여부를 확인하므로 이러한 메시지를 표시할지 여부를 결정할 수 있습니다.
참고:
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>
응용 프로그램에서 데이터를 응용 프로그램 저장소 디렉토리 등에 로컬로 저장하는 경우 처음 실행될 때 이전 버전에서 이전에 저장된 데이터를 확인할 수 있습니다.