11 May 2011
すべて
このマスターシリーズでは、Flash Builder 4.5、Flex SDK 4.5およびAdobe AIRを使用したFlexモバイルアプリケーションの開発について解説します。
本記事では、Flash Builder 4.5から採用された「Flex モバイルプロジェクト」について紹介します。現在、Flexモバイルプロジェクトから作成できるモバイルアプリケーションのターゲットプラットフォームはGoogle Androidのみです。そのため本記事では、Android対応モバイルアプリケーション開発をターゲットに解説します。
※Flash Builder 4.5は、2011年下半期にリリース予定の無償アップデーターにより、Apple iOSと Blackberry Tablet OSもサポートします。
Flash Builder 4.5では、3種類のモバイルアプリケーションのテンプレートが用意されています。新規に[Flex モバイルプロジェクト]を作成するときに、いずれかの種類のテンプレートを選択することができます。
![[ファイル]→[新規]→[ Flex モバイルプロジェクト]を選択することでプロジェクトを作成できます [ファイル]→[新規]→[ Flex モバイルプロジェクト]を選択することでプロジェクトを作成できます](http://wwwimages.adobe.com/www.adobe.com/content/dam/Adobe/jp/devnet/flex/articles/flex_mobile_01/fig01.png)
テンプレートの種別を問わず、プロジェクトには任意の名前を付けます。

モバイルプロジェクトの各テンプレートの詳細は下記の通りです。
「ビューベースアプリケーション」は、新規にFlexモバイルアプリケーションを作成するときに、デフォルトで選択されているアプリケーションテンプレートです。「ビュー」と呼ばれる単一の画面と、各ビューの遷移履歴を管理する機能を持つ「ビューナビゲーター」で成り立つところが特徴です。
ビューベースアプリケーションでは、最低限1つのビューが必要になるため、初期表示ビューの名前を付けるための入力欄[基本ビュータイトル]が用意されており、デフォルトで「HomeView」と入力されています。この名前は自由に変えることができます。

「タブ付きアプリケーション」は、前述のビューナビゲーターを複数管理する「タブナビゲーター」を持ったアプリケーションテンプレートです。タブナビゲーターは、ビューナビゲーターの数だけタブを自動的に生成して、アプリケーション上に表示します。このタブを操作して切り替えることによって、ビューナビゲーターの表示/非表示をコントロールする機能を持つところが特徴です。
タブ付きアプリケーションのダイアログボックスでは、任意のタブを作成することができる入力欄が用意されています。

「空白」は、モバイルアプリケーションプロジェクト特有の画面履歴を管理する機能を一切持たないシンプルなアプリケーションテンプレートです。従来のFlexベースのAIRアプリケーションを開発するときと同じような感覚で開発したいときには、このテンプレートを使用します。
「空白」のダイアログボックスでは、特別に設定する項目はありません。

[新規Flexモバイルアプリケーション]ダイアログボックスの[権限]タブでは、ターゲットプラットフォームが[Google Android]の場合、Androidセキュリティモデルに従って、セキュリティまたはプライバシー関連機能を使用するための権限をアプリケーションに付与することができます。
![[新規Flexモバイルアプリケーション]ダイアログボックスの[権限]タブ [新規Flexモバイルアプリケーション]ダイアログボックスの[権限]タブ](http://wwwimages.adobe.com/www.adobe.com/content/dam/Adobe/jp/devnet/flex/articles/flex_mobile_01/fig06.png)
選択できるAndroid権限は以下の通りです。
| 権限の種類 | 概要 | |
|---|---|---|
| INTERNET | アプリケーションがネットワーク要求を行うことを許可します。また、リモートデバッグも許可します。 | |
| WRITE_EXTERNAL_STORAGE | アプリケーションがデバイスの外部メモリカードへ書き込むことを許可します。 | |
| READ_PHONE_STATE | AIRランタイムが、ユーザの電話中に、オーディオをミュートすることを許可します。この権限は、アプリケーションがバックグラウンド状態の間にオーディオを再生する場合に設定します。 | |
| ACCESS_FINE_LOCATION | アプリケーションが Geolocation クラスを介して GPS データにアクセスすることを許可します。 | |
| DISABLE_KEYGUARD, WAKE_LOCK | アプリケーションが、SystemIdleMode クラス設定を使用してデバイスのスリープ状態を防ぐことを許可します。 | |
| CAMERA | アプリケーションがカメラにアクセスすることを許可します。 注意: ユーザがカメラ機能を使用するための権限を要求するとき、Android では、アプリケーションもカメラを要求しているとみなされます。カメラがアプリケーションのオプション機能である場合、カメラのマニフェストに uses-feature エレメントを追加し、必要な属性を false に設定します。 |
|
| RECORD_AUDIO | アプリケーションがマイクにアクセスすることを許可します。 | |
| ACCESS_NETWORK_STATE, ACCESS_WIFI_STATE | アプリケーションが、NetworkInfo クラスを介して ネットワーク情報にアクセスすることを許可します。 | |
[新規Flexモバイルアプリケーション]ダイアログボックスの[アプリケーション設定]では、Flex モバイルアプリケーションのターゲットプラットフォームや、テンプレートの種類に問わず、次の設定項目を選択することができます。
![[新規Flexモバイルアプリケーション]ダイアログボックスの[アプリケーション設定] [新規Flexモバイルアプリケーション]ダイアログボックスの[アプリケーション設定]](http://wwwimages.adobe.com/www.adobe.com/content/dam/Adobe/jp/devnet/flex/articles/flex_mobile_01/fig07.png)
| 種類 | 概要 | |
|---|---|---|
| 自動的に方向を変更 | モバイルデバイスの縦横方向の向きに対して、アプリケーションの傾きを自動的に変更します。 | |
| フルスクリーン | アプリケーションをフルスクリーンアプリケーションにします。 | |
| 画面密度に合わせてアプリケーションを自動サイズ変更 | モバイルデバイスの画面密度 (DPI、dot per inch)を指定して、コンポーネントを自動的にサイズ変更することができます。選択できるDPIは[160][240][320]の3種類です。 | |
作成したFlexモバイルプロジェクトのアプリケーションは、デスクトップ上の仮想エミュレータ、または、モバイル端末の実機にてデバッグすることができます(モバイル端末の実機にてデバッグを行う場合には、あらかじめモバイル端末提供元のドライバをインストールしておく必要があります)。
Flash Builder 4.5 の[デバッグの構成]から、デバッグ時のアプリケーション起動の設定を行うことができます。
![Flash Builder 4.5のデバッグメニューから[デバッグの構成]を選択 Flash Builder 4.5のデバッグメニューから[デバッグの構成]を選択](http://wwwimages.adobe.com/www.adobe.com/content/dam/Adobe/jp/devnet/flex/articles/flex_mobile_01/fig08.png)
![[デバッグの構成]ダイアログボックス [デバッグの構成]ダイアログボックス](http://wwwimages.adobe.com/www.adobe.com/content/dam/Adobe/jp/devnet/flex/articles/flex_mobile_01/fig09.png)
デスクトップ上でデバッグを行う場合には、仮想エミュレータを選択することができます。あらかじめ、リストにいくつかのモバイル端末の設定が用意されていますが、目当ての端末が見つからない場合は、手動で仮想エミュレータの設定を追加します。
![[環境設定]ダイアログボックスの[デバイス設定]で追加します [環境設定]ダイアログボックスの[デバイス設定]で追加します](http://wwwimages.adobe.com/www.adobe.com/content/dam/Adobe/jp/devnet/flex/articles/flex_mobile_01/fig10.png)
以上がFlexモバイルプロジェクトについての基本的な項目の紹介でした。Flexモバイルアプリケーションでは、アプリケーションの用途に応じて、テンプレートという形式でフレームワークを提供します。これらのチュートリアルを確認し、Flexモバイルアプリケーションの種類や設定項目を知ることによって、実際にアプリケーション開発に携わるとき、より現実的な設計を行うことができるでしょう。
第2回では、本記事で解説した3種類のモバイルアプリケーションのテンプレートおよびビューの基本的な機能について、ソースコードを交えて解説します。