SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

特集記事(AD)

Flash Builder 4.6でAndroid/iOSデバイスのバイブレーター機能を実行するライブラリを作成!

各プラットフォームと連携できる AIR 3 新機能「ネイティブ拡張」の使い方

  • X ポスト
  • このエントリーをはてなブックマークに追加

AIRアプリケーションへの組み込み

 ネイティブ拡張のANEファイルが生成できたので、Flash Builder 4.6を用いてAIRアプリケーションに組み込みます。

FlexビルドパスにANEファイルを追加

 Flexモバイルプロジェクトのコンテキストメニューの[プロパティ]を開きます。そして、[Flexビルドパス]パネルの[ネイティブエクステンション]のタブを開きます。次の図のように、現在使用しているネイティブ拡張の一覧と詳細が真ん中に表示されます。

 ネイティブ拡張を追加するためには、[ANEを追加]ボタンを押下して、ANEファイルを選択します。[フォルダ追加]ボタンを押下してANEファイルが含まれているフォルダを指定し、フォルダ内のネイティブ拡張を探して追加してください。

 追加したANEファイルは、通常のActionScriptライブラリと同様にコード補完の対象となります。

 また、[AIRアプリケーション記述子を更新]にチェックを入れると、次のコードが追加されます。これは、パッケージング時にアプリケーションの使用するネイティブ拡張を示すためです。

<extensions>
    <extensionID>example.ane.vibrator</extensionID>
</extensions>

作成例

 サンプルファイルでは、ボタンを押すとネイティブ拡張を利用してバイブレーターを動作させるFlexモバイルアプリケーションを作成します。[Start Vibrator]ボタンを押下し、ネイティブ拡張コンテキストからVibrateNowネイティブ関数を呼び出します。

VibratorSampleApp\src\VibratorSampleApp.mxml
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
               xmlns:s="library://ns.adobe.com/flex/spark" applicationDPI="160">
    <fx:Script>
        <![CDATA[
            import example.ane.Vibrator;
            
            import mx.events.FlexEvent;
            
            private var vibrator:Vibrator;
            
            protected function button1_clickHandler(event:MouseEvent):void
            {
                if( vibrator == null ){
                    vibrator = new Vibrator();
                }
                vibrator.vibrateNow();
            }
        ]]>
    </fx:Script>
    <s:Button label="Start Vibrator"
              click="button1_clickHandler(event)"/>
</s:Application>

ANEファイルのパッケージ設定

 リリースビルドを書き出す際や、FlexモバイルプロジェクトのプロパティのFlexビルドのパッケージ化のパネルで、ターゲットOSごとにANEファイルのパッケージ設定を行います。

 次のようにネイティブ拡張を呼び出しているのに、該当するANEファイルをパッケージ化されていない旨が通知されるので、使うネイティブ拡張の列にあるパッケージのチェックボックスにチェックを入れます。

 チェックを入れると、パッケージ化の対象になります。

 また、ネイティブ拡張記述ファイルの項目について、次のような検証を行ってくれます。

  • id:ネイティブ拡張のIDが正しいか
  • nativeLibrary:ネイティブ拡張の利用時に、ネイティブ拡張ライブラリを含んでいるか
  • initializer:初期化時に呼び出される関数やネイティブ拡張エクステンションクラスが存在するか、また、それらの名称が重複していないか
  • finalizer:終了時に呼び出される関数やネイティブ拡張エクステンションクラスが存在するか、また、それらの名称が重複していないか

おわりに

 本記事では、AIR 3の新機能「ネイティブ拡張」と、ネイティブ拡張をFlash Builder 4.6で利用する方法について説明しました。ネイティブ拡張を利用することで、プラットフォームごとにさまざまな機能が使えるようになりました。また、ネイティブコードで作られたライブラリなどの資産も活用でき、さらに重い処理をネイティブコードで処理することによりパフォーマンス向上が期待できます。

 Flash Builder 4.6を使ってネイティブ拡張を利用すると、ネイティブ拡張のANEファイルの設定を簡単に行うことができます。コード補完もデバッグも通常通り行うことができ、ネイティブ拡張を意識する必要はありません。ぜひ、Flash Builder 4.6で生産性の高いモバイルアプリケーション開発を試してみてください。

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
特集記事連載記事一覧

もっと読む

この記事の著者

有川 榮一(アリカワ エイイチ)

 Arikawa Eiichi @ AKABANA ( http://akabana.net ) アーキテクト, クラスメソッド株式会社 プリンシパル。 Flex / AIR / CF / FMS / Java / C#を使ったアプリケーションソフトウェア設計と開発を中心に仕事をしています。また、Flex ...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/6308 2011/12/09 17:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング