AIR基本的メモ
Adobe AIR HTML 開発者用リファレンスガイド
http://help.adobe.com/ja_JP/AIR/1.1/jslr/index.html
アプリケーションを終了する
NativeApplication.nativeApplication.exit();
ウィンドウが全て閉じられたら自動でアプリケーションを終了する
NativeApplication.nativeApplication.autoExit=true;
ウィンドウをドラッグする
var me:NativeWindow=stage.nativeWindow;
me.startMove();
新しいウィンドウを作成する
var news_win:NativeWindow=get_newwindow("none", true, false, false, false);
function get_newwindow(str:String, trans:Boolean=true, resize:Boolean=false, max:Boolean=false, min:Boolean=false):NativeWindow{
return new NativeWindow(get_winoptions(str, (str=="standard")?false:trans, resize, max, min));
}
function get_winoptions(str:String, trans:Boolean=true, resize:Boolean=false, max:Boolean=false, min:Boolean=false):NativeWindowInitOptions{
var options:NativeWindowInitOptions=new NativeWindowInitOptions;
options.systemChrome=str;
options.transparent=trans;
options.resizable=resize;
options.maximizable=max;
options.minimizable=min;
return options;
}
ファイルのドロップを受け付ける
bg_mc.addEventListener(NativeDragEvent.NATIVE_DRAG_ENTER, when_drag_enter);
bg_mc.addEventListener(NativeDragEvent.NATIVE_DRAG_DROP, when_drop_item);
function when_drag_enter(e:NativeDragEvent=null):void{
NativeDragManager.acceptDragDrop(bg_mc);
}
function when_drop_item(e:NativeDragEvent=null):void{
var str=e.clipboard.formats;
var filelist:Array=e.clipboard.getData(ClipboardFormats.FILE_LIST_FORMAT) as Array;
//filelistにドロップされたFileの配列が格納される
}
ファイルを保存するとき//文字列の場合
var docsDir:File;
if(save_dir!=""){
try{
docsDir=new File(save_dir);
}catch(e){
docsDir=File.desktopDirectory;
}
}else{
docsDir=File.desktopDirectory;
}
try{
docsDir.browseForSave("(・∀・)ノ< 保存するよ!");
docsDir.addEventListener(Event.SELECT, execute_saveData);
}catch(error){
trace("Failed:", "(´・ω・`)失敗したです");
}
function execute_saveData(e):void{
//文字列の場合
var str:String="保存する文字列";
var stream:FileStream=new FileStream();
stream.open(newFile, FileMode.WRITE);
stream.writeUTFBytes(str);
stream.close();
}
アップデートするとき
var air_filename:String="AIRファイル名";
var latest_version:String="新しいAIRアプリのバージョン";//今のが1.0なら1.1とか
var update_filepath:String="AIRファイルパス";
var urlReq:URLRequest = new URLRequest(update_filepath);
fileData= 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.desktopDirectory.resolvePath(air_filename);
update_airfile=file;
var fileStream:FileStream = new FileStream();
fileStream.addEventListener(Event.CLOSE, fileClosed);
fileStream.openAsync(file, FileMode.WRITE);
fileStream.writeBytes(fileData, 0, fileData.length);
fileStream.close();
}
function fileClosed(event:Event):void{
var updater:Updater=new Updater();
updater.update(update_airfile, latest_version);
}