“Hero”は、モバイル向けに最適化されたsparkコンポーネントを追加した、次期FlexSDKのコードネームです。
Flash Builder Burrito (Preview) をインストールすると、”Hero”が入ってます。
今回は、Burrito を使った Android アプリ開発の基本的な内容をまとめました。
Flexモバイルの基本構成
Burrito には、新しいプロジェクトタイプとして「Flexモバイルプロジェクト」が追加されています。
このプロジェクトで新規作成すると、<s:MobileApplication>という新アプリケーションクラスのmxmlファイルと、
初期表示される<s:View>のmxmlファイルが生成されます。
モバイルアプリの基本構成としては、主に以下の4つの要素です。
・View
コンテンツの表示領域で、端末の回転に合わせて表示領域が自動調整される
*プロパティ
- destructionPolicy:画面遷移でViewの破棄をしない場合は”none”を指定
- actionBarVisible:ActionBarの表示・非表示
- overlayControls:ActionBarをViewのコンテンツに重ねて表示するか
・ActionBar
Viewの上部に表示されるナビゲーション領域で、さらに3つの領域に別れている
*出典:Adobe
- Navigator area:ホームボタンなど、View共通のナビゲート用コンテンツを配置
- Title area:各Viewのタイトル表示や、検索用テキスト入力フィールド等を配置
- Action area:各Viewでのアクション用コンテンツを配置
・ViewNavigator
スタックベースの履歴管理を行う
- navigator.pushView(NextViewClassName,data):次の画面へ
*dataに次の画面に渡したい値をセットする - navigator.pop():前の画面へ(最新の画面を消す)
- navigator.popAll():全部消す
- navigator.popToFirstView():最初の画面へ
*遷移する度にViewが破棄される
・MobileApplication
ViewNavigatorを1つ持ち、アプリケーションの終了時にビューステートとデータを保存する
*プロパティ
- splashScreeImage:スプラッシュ画面の設定
- firstView:初期画面の設定
・参考
「Flex SDK 「Hero」とFlash Builder 「Burrito」を使用したモバイルアプリケーション開発」
「Adobe MAX 2010 RETWEET – Flex 4.5 (Hero)による モバイルアプリケーション開発」
「Hero Mobile Feature Specifications」
利用できるモバイル用の機能
Flex Hero でのモバイルアプリ開発はAIR2.5を対象としており、
AIR2.5では、以下のようなモバイル用のAPIが追加されています。
- Screen orientation:画面の向き
- CameraRoll/CameraUI:カメラロール/カメラ
- SystemIdleMode:アイドルモード移行設定
- Accelerometer:加速度センサー
- Geolocation:ジオロケーション
- タッチ、マルチタッチ、ジェスチャー API
- StageWebView:モバイルアプリ内にHTMLを埋め込み表示
…など
ただし、セキュリティやプライバシーに影響を及ぼす可能性のある機能は、
権限をアプリケーション記述子(-app.xml)に指定しておく必要があります。
また、デスクトップで利用できるAPIの一部は、モバイルでは使用不可な場合があります。
詳細は、参考ページをご覧ください。
・参考
「Adobe AIR 2.5 開発者向けリリースノート」
「デバイスプロファイル」
最適化されたコンポーネント
HeroはまだPreview版なので、モバイル最適化されたコンポーネントの数も少ないです。
*出典:Adobe
Control
- Button
- CheckBox
- Image/BitmapImage
- Label
- List
- RadioButton / RadioButtonGroup
- TextArea
- TextInput
Layout
- DataGroup
- Group/HGroup/VGroup
- TileGroup
- Scroller
Charts
- すべて(mx.swcとdatavisualization.swcをライブラリパスに追加)
その他のSparkコンポーネントも使用できますが、スキン等でタッチ操作に適したサイズにするなどの手間が必要です。
MXコンポーネントの使用は推奨されていません。
・参考
「Flex SDK 「Hero」とFlash Builder 「Burrito」を使用したモバイルアプリケーション開発」
「Flex Hero and Mx Charts」
デバッグについて
Burrito では、デスクトップ上と端末上のデバッグが選択できます。
ただし、デスクトップ上でのデバッグでは、各種センサー系やカメラ等はサポートされません。
端末上でデバッグする場合は、「AndroidのSetting>Applications>Development>USB debugging」を有効にして、
USB接続を行います。サポートされるデバイスは、Android 2.2 (Froyo)上に、AIR 2.5 ランタイムが動作する端末です。
・Burrito がデフォルトで提供するUSBドライバ
- Google Nexus One
- Motorola Droid
- HTC Incredible
- Motorola Droid 2
- Motorola Droid X
- HTC Evo 4G
*これ以外を追加する場合は、<Adobe Flash Builder Burrito Home>\utilities\drivers\android\android_winusb.inf
を編集する
*詳細は「Connecting Google Android Devices」
・trace文
端末でのデバッグ中のtrace文を出力するには、ターミナルで以下のコマンドを実行
adb logcat air.MyApp:I *:S