2011/02/05

De MonsterDebuggerを使ったデバッグ

第1回AIR for Android勉強会で、自分のお薦めの開発スタイルとして、なるべくデスクトップ上で開発するという話をさせていただきました。

AIRの利点はマルチプラットフォーム環境ということです。マルチプラットフォームには2つの意味があります。1つは、MacやLinux、WinなどのOSを超えるという意味でのマルチプラットフォーム。

もうひとつは、デスクトップやモバイル、TVなどの機器を超えるという意味でのマルチプラットフォーム。要するに、AIR for Androidだろうが、所詮AIRアプリなので、それなら開発効率を最優先して、画面の小さなデスクトップアプリとしてあらかた開発してしまい、デバイス固有な部分やパフォーマンスなどの合わせこみは、大体アプリが動き始めてから行えば良いではないか?という発想です。

そういう開発スタイルをとった場合に、デバッグ用のツールとして重宝したのがDe MonsterDebuggerです。

1. インストール/実行方法
De MonsterDebuggerのホームページからAIRファイルをダウンロードして、インストールします。

De MonsterDebuggerを起動すると、Fileメニューに"Export Client Class"というアイテムがあるので、これを選択し、De MonterDebuggerと接続する為のクライアントクラスを自分のプロジェクトディレクトリーを指定して作成します。


最後に、自分のアプリケーション内でMonsterDebuggerのインスタンスを作成しておけば、アプリケーションを起動した際にDe MonsterDebugerと接続します。
import nl.demonsters.debugger.MonsterDebugger;
var debugger:MonsterDebugger = new MonsterDebugger(this);


2. 便利な使い方
De MonsterDebuggerを使う利点は、簡単にログをトレースしたりメモリーリークのチェックができたりすることもあるのですが、個人的にはLive editing機能によってDe MonsterDebugger側から実行時にオブジェクトのプロパティを編集できるのが非常に便利だと感じました。


表示オブジェクトのちょっとした座標やサイズの調整に、コンパイル⇒実行というサイクルを繰り返さないでも済むのは、ありがたいです。

3. 注意点
De MonsterDebuggerをAIR for Androidアプリのデバッグに使う際に、1つだけ注意が必要です。

それは、アプリケーション記述ファイルのsupportedProfilesタグ(下記)を無効、もしくは"desktop"等にしないといけません。
<supportedProfiles>mobileDevice</supportedProfiles>
これは、AIRアプリとDe MonsterDebuggerはLocalConnectionで接続されるのですが、この機能はmobileDeviceプロファイルではサポートされていないからです。

4. ハードウェアキーの割り当て
同様に、adlはmobileDeviceプロファイルが指定されていると、メニューからAndroidのBack/Menu/Searchキーをエミュレーションできるのですが、これが使えなくなりますので、別途Back/Menu/Searchの機能を矢印キー等に割り当てておくこともお薦めします。
private function keyHandler(e:KeyboardEvent):void {
    switch(e.keyCode) {
    case Keyboard.MENU:
    case Keyboard.DOWN:
        //Menu選択時の処理
        break;
    case Keyboard.LEFT:
    case Keyboard.BACK:
        //Back選択時の処理
        break;
    }
}

0 件のコメント:

コメントを投稿