Shoeisha Technology Media

CodeZine(コードジン)

記事種別から探す

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

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

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2011/12/09 17:00

 本記事ではAdobe AIR 3の新機能「ネイティブ拡張」について説明します。また、先日リリースされたばかりのFlash Builder 4.6を用いたネイティブ拡張の使い方も説明していきます。

目次

はじめに

 今までのAdobe AIRは、クロスプラットフォームで展開されるため各プラットフォームで共通する機能のみが提供されていました。つまり、プラットフォーム固有の機能にはAIR上からアクセスすることができませんでした。

 今回、AIR 3に追加された新機能「ネイティブ拡張(Native Extensions)」を利用すると、開発者はAIRランタイムを拡張でき、AIR上からネイティブコードを使ったプラットフォーム機能へとアクセスできるようになります。本記事では、このネイティブ拡張の概要、および先日リリースされたばかりの「Flash Builder 4.6」を用いたネイティブ拡張の使い方について解説していきます。

 Flash Builder 4.6は、Adobeのサイトよりダウンロードが可能です。下記のボタンからダウンロードすると、60日間無料で利用できる体験版を使用できます。ダウンロードにはAdobe IDが必要ですが、以前作成したことがあれば、そのIDを利用可能です。インストールの手順はバージョン4.5と同様なので、次の記事も参考にしてください。

Adobe AIR 3「ネイティブ拡張」とは

 ネイティブ拡張とは、ネイティブコードとActionScriptクラスを組み合わせたものです。開発者は、ネイティブ拡張を使ってプラットフォーム固有の機能を最大限に活かすことができます。この機能を利用するメリットには、次の3つがあります。

1)プラットフォームへのアクセス

 多くのデバイスには、それぞれに次のようなプラットフォーム固有の機能があります。

プラットフォーム固有の機能
  • モバイルデバイス(iOS、Android、BlackBerry)

     電話帳、各種センサー(磁気センサー、圧力センサー)、アプリ内課金、Bluetooth、OS連携

  • デスクトップデバイス(Windows、Mac OS X)

     データベース連携、USBデバイス連携、OS連携

  • テレビ用AIRデバイス

     チャンネル操作、番組表

 従来のAIRランタイムからは上記のような機能にはアクセスできませんでしたが、ネイティブ拡張を使えば、こうしたプラットフォーム固有機能にアクセスする機能をAIRランタイムに追加できます。現在、ネイティブ拡張は、次のデバイスで利用可能です。

  • Androidデバイス(Android 2.2以降)
  • iOSデバイス(iOS 4.0以降)
  • Blackberry Playbook
  • AIR 3.0をサポートするWindowsデスクトップデバイス
  • AIR 3.0をサポートするMac OS Xデスクトップデバイス
  • テレビ用AIRデバイス(テレビ用AIR 2.5以降)

2)コードの再利用

 アプリケーションの開発を行う上で利用頻度の高いコードは、既にライブラリとして持っていると思います。さらに、洗練されたライブラリも既に数多く公開・共有されています。ネイティブ拡張では、それらのライブラリをラップして、AIRアプリケーションから扱うことができるようになります。

3)パフォーマンスを向上

 ネイティブ拡張は、ActionScriptだけでは実現できないことを可能にするだけのものではなく、負荷の大きい計算を実行するためにも使用できます。ActionScriptでも実装できるものの、パフォーマンスの高度な最適化が必要な場合は、代わりにネイティブコードの処理を呼び出すことで解決できるでしょう。

ネイティブ拡張の開発について

 次に、ネイティブ拡張の開発方法について説明していきます。手順は以下のようになります。

  1. ネイティブ拡張ライブラリの作成

     プラットフォームに依存したネイティブコードを使用して作成します。

  2. ネイティブ拡張ActionScriptライブラリの作成

     ネイティブ拡張ライブラリと連携するためのライブラリを作成します。

  3. ネイティブ拡張記述ファイルの作成

     ネイティブ拡張を定義するためにネイティブ拡張記述ファイルを作成します。

  4. ANEファイルへパッケージング

     ネイティブ拡張ライブラリとネイティブ拡張ActionScriptライブラリをANEファイルへパッケージングします。

開発手順の流れ
開発手順の流れ

ネイティブ拡張ライブラリの作成

 ネイティブ拡張には、各プラットフォームと連携するためのネイティブAPIが用意されています。ネイティブAPIには次の2種類が用意されており、JavaとCの2つの言語で利用できます。

  • ネイティブ Java API:Java言語

     プラットフォーム:Android

  • ネイティブ C API:C言語

     プラットフォーム:iOS、Blackberry、Windows、Mac OS X


  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

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

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

All contents copyright © 2006-2017 Shoeisha Co., Ltd. All rights reserved. ver.1.5