最近、AndroidマーケットでAIRが配布開始されたり、SBMのAndroidが全機種2.2だったり、Adobe MAXの影響か、Flexの方面からの盛り上がりを感じているので、AIR for Androidについて書いておきたいと思います。
1.環境構築
Adobe CS5を普通にインストールしてあって、アップデートで最新状態であれば、FlashのエクステンションをインストールすればOKです。
つまり、下記の3つが必要になります。
・Flash CS5
・AIR2.5
・Flashエクステンション(ベータなのでAdobe Labsから)
2.アプリをつくる
正しく環境構築ができていれば、Flash CS5に 新規>テンプレート>AIR for Androidが追加されています。
このテンプレートを使って作業します。
普通にFlashをつくります。フルAS3でもタイムラインを絡めてもいいです。
UI構築が自由にできるのがいいですね。
3.パブリッシュ(apkファイルの作成)
ファイル>AIR Android設定... で専用画面がでますので、ここで諸々設定します。(今回は詳細は割愛します)
※実機をもっていれば、Flashから直接転送デバッグも可能です。
でもって、こんなのをつくってみました。
西暦を和暦に変換するアプリです。
.flaファイルに記述しているActionScriptは以下のような感じです。
普通にMouseEventを記述すれば、Android上のタッチイベントになります。
import flash.events.MouseEvent; btn_0.addEventListener(MouseEvent.CLICK, inputNum("0")); btn_1.addEventListener(MouseEvent.CLICK, inputNum("1")); btn_2.addEventListener(MouseEvent.CLICK, inputNum("2")); btn_3.addEventListener(MouseEvent.CLICK, inputNum("3")); btn_4.addEventListener(MouseEvent.CLICK, inputNum("4")); btn_5.addEventListener(MouseEvent.CLICK, inputNum("5")); btn_6.addEventListener(MouseEvent.CLICK, inputNum("6")); btn_7.addEventListener(MouseEvent.CLICK, inputNum("7")); btn_8.addEventListener(MouseEvent.CLICK, inputNum("8")); btn_9.addEventListener(MouseEvent.CLICK, inputNum("9")); btn_c.addEventListener(MouseEvent.CLICK, clearAll); btn_enter.addEventListener(MouseEvent.CLICK, calc); function inputNum(num:String):Function { return function(e:MouseEvent){ ad.appendText(num); } } function clearAll(e:MouseEvent):void { ad.text = ""; wareki.text = ""; opt.text = ""; } function calc(e:MouseEvent):void { if(ad.text.length == 4){ var n:int = int(ad.text); if(n>=1868 && n<=2100){ var year:int; if(n<1912){ year = n - 1868 + 1; if(year == 1){ wareki.text = "明治元年"; }else{ wareki.text = "明治" + year + "年"; } }else if(n<1926){ year = n - 1912 + 1; if(year == 1){ wareki.text = "大正元年"; opt.text = "※1912年 明治45年7月29日まで、7月30日より大正元年"; }else{ wareki.text = "大正" + year + "年"; } }else if(n<1989){ year = n - 1926 + 1; if(year == 1){ wareki.text = "昭和元年"; opt.text = "※1926年 大正15年12月24日まで、12月25日より昭和元年"; }else{ wareki.text = "昭和" + year + "年"; } }else{ year = n - 1989 + 1; if(year == 1){ wareki.text = "平成元年"; opt.text = "※1989年 昭和64年1月7日まで、1月8日より平成元年"; }else{ wareki.text = "平成" + year + "年"; } } }else{ wareki.text = "範囲外です"; } }else{ wareki.text = "4桁入れてね"; } } /* 明治 1868年〜 大正 1912年〜 昭和 1926年〜 平成 1989年〜 1912年 明治45年7月29日まで、7月30日より大正元年 1926年 大正15年12月24日まで、12月25日より昭和元年 1989年 昭和64年1月7日まで、1月8日より平成元年 */普通につくったFlash/ActionScriptがAndroidで動きます。感動です。
場合によってはJavaで開発するよりも簡単かも知れません。逆にメニューキーを押したあと(イベントは取れます)の実装はすべて自前?とか、普通のAndroidアプリと似せようとすると面倒かもしれません。ゲームとか標準のUIに縛られないアプリなら良さそうです。
今後2.2端末も増えそうですし、開発の選択肢に検討してみるのもいいかもしれません。
問題はAIRランタイムの容量が大きいことだったり。。。
0 件のコメント:
コメントを投稿