AIRもbeta2になり、変更がありました。
主なところは、akihiro kamijoさんのブログにありますが、
http://weblogs.macromedia.com/akamijo/archives/2007/10/adobe_air_2.cfm#more
引用開始———————-
1 ByteArray.infrate()とByteArray.deflate()メソッドがなくなった。
2 ClipboardManagerクラスとTransferableDataクラスがClipboardクラスに置き換えられた。
3 DragManager.isDraggingがメソッドからプロパティに変更
4 Doorクラスが廃止。
5 Fileクラスが変更
File.listDirectories() -> File.getDirectoryListing()
File.listDirectoriesAsync() -> File.getDirectoryListingAsync()
File.listRootDirectories() -> File.getRootDirectories(9
File.relativize() -> File.getRelativePath()
File.resolve() -> File.resolvePath()
6 NativeWindow
visible プロパティがコンストラクタではなく属性として指定するように変更。
Stage.window は Stage.nativeWindow に変更されました。
NativeWindowCapabilties クラスが無くなり、代わりに NativeWindow クラスの属性として実装されました。
7 Systemのpause(), resume(), gc()メソッドがデバッグモードのみ使用可能。
exit()はAIRでは使えなくなり、代わりに、Shell.exit()を使うようにする。
—————引用 終わり
他にもあるようで、変更点は多いですね。
で、僕の場合は、TransferableDataとFileをよく使ってたのですが、やっぱり変更に伴いつまずきました。
TransferableDataは、Clipboardクラスに入ったのですが、入ったはいいが、どうすればデータを取得できるかがわからない。
しかも、困った事に、自分が参照していた言語リファレンスのバージョンがbeta2でなかったため、いつまでたっても答えがみつからないという悲惨な状況でした。
古いバージョンを利用している人は、最新版をここからダウンロードしましょうね。
http://labs.adobe.com/wiki/index.php/AIR:Documentation#Flex_Developers
で、どうやればデータを取得できるかですが、
例えば、ドラッグしたテキストデータを取得する場合なら、
<mx:Script>
<![CDATA[
//—————drag and drop
import mx.core.*;
import flash.desktop.DragManager;
import flash.events.NativeDragEvent;
import flash.desktop.Clipboard;
import flash.desktop.ClipboardFormats;
import flash.desktop.ClipboardTransferMode;
private var clip:Clipboard;
private function acceptDragDrop():void{
data_la.addEventListener(NativeDragEvent.NATIVE_DRAG_ENTER, dragEnterFromFinder);
data_la.addEventListener(NativeDragEvent.NATIVE_DRAG_DROP, dropFromFinder);
clip = new Clipboard();
}
private function dragEnterFromFinder(e:NativeDragEvent):void{
DragManager.acceptDragDrop(appBox);
}
private function dropFromFinder(e:NativeDragEvent):void{
clip = e.clipboard;
//get text
trace(clip.getData(“air:text”));
}
]]>
</mx:Script>
<mx:Label id=”data_la” />
てな感じで取得できました!
NativeDragEventのclipboardのgetData(“air:text”)で取得できる、ということです。
当然、text形式でない場合は、別途変更して下さい。
ああ、airに興味を持った宿命とは思うが、変更が多い。。。
今まで作成していたairアプリがそのままではコンパイルできないという深みにはまっています。。。。
2007年10月12日03:24