Shoeisha Technology Media

CodeZine(コードジン)

記事種別から探す

Flash Builder 4.5でAndroidアプリ開発
~概要から作成手順の基本まで最速解説!

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

ダウンロード サンプルソース (18.7 KB)

目次

(4)デバッグ実行してみる

 ここまで作成したら、一度デバッグを実行してみます。メインメニューから[実行 > デバッグ]をクリックすると、デバッグ設定ダイアログが表示されます。ダイアログ下部にある、「起動方法」で[デスクトップ上]を指定して、実行してみましょう。

デバッグ設定を指定するダイアログが表示されたら、起動方法で[デスクトップ上]を選択。プルダウンから任意の端末を選択し、[デバッグ]をクリック
デバッグ設定を指定するダイアログが表示されたら、起動方法で「デスクトップ上」を選択。プルダウンから任意の端末を選択し、[デバッグ]をクリック

 デスクトップ上にAIR for Android専用のシュミレーター(ADL)が起動し、デバッグが行われます。

実行してみたところ
実行してみたところ

 もちろん、実機で実行することも可能です。方法は後ほど紹介します。

(5)[重さ]タブの画面を実装する

 以上で[長さ]タブ画面の作成は完了したので、他のタブの画面も実装してみましょう。[重さ]のタブは、「View2.mxml」を編集します。これが[長さ]のタブと違うのは、中に表示する単位だけなので、「View1.mxml」のソースを全部コピーして、「View2.mxml」に貼り付けます。そして、単位を表すMXMLを以下のように書き換えます。

<fx:Declarations>
	<!-- 非ビジュアルエレメント (サービス、値オブジェクトなど) をここに配置 -->
	<s:ArrayCollection id="unit_weight">
		<fx:Object label="グラム(g)" value="1" />
		<fx:Object label="キログラム(kg)" value="1000" />
		<fx:Object label="ミリグラム(mg)" value="0.001" />
		<fx:Object label="貫(カン)" value="3750" />
		<fx:Object label="斤(キン)" value="600" />
		<fx:Object label="トン(t)" value="1000000" />
		<fx:Object label="カラット(ct)" value="0.2" />
	</s:ArrayCollection>
</fx:Declarations>

 さらに、二行目にある<s:View>タグのtitle属性を「重さ」と書き換えます。

<s:View xmlns:fx="http://ns.adobe.com/mxml/2009"
		xmlns:s="library://ns.adobe.com/flex/spark"
		xmlns:supportClasses="spark.skins.mobile.supportClasses.*"
		title="重さ">

 続けて、Listのlist1、list2のデータプロバイダーを「{unit_weight}」と変更します。

重さタブも完成
重さタブも完成

(6)[温度]タブの画面を実装する

 最後に[温度]タブを作成します。温度は、摂氏・華氏・絶対温度をそれぞれ計算する形になります。View3.mxmlを開いたら、Labelを3つ、その横にTextInputを3つ配置します。

TextInputを3つ配置
TextInputを3つ配置

 配置が完了したら、次のように各コンポーネントを設定します。

コンポーネント ID テキスト
Label (なし) 摂氏(℃)
TextInput textC (なし)
Label (なし) 華氏(F)
TextInput textF (なし)
Label (なし) 絶対温度(K)
TextInput textK (なし)

 さらに、TextInputごとに、プロパティパネルの[変更時]の項目でイベントハンドラを生成します。それぞれのイベントハンドラは、次のように記述します。これは、各温度単位への変換式を記述したものです。

protected function textC_changeHandler(event:TextOperationEvent):void
{
	var v:Number = parseFloat(textC.text);
	textF.text = String(v * 9 / 5 + 32);
	textK.text = String(v + 273.15);
}
protected function textF_changeHandler(event:TextOperationEvent):void
{
	var v:Number = parseFloat(textF.text);
	var c:Number = (v-32) * 5 / 9;
	textC.text = String(c);
	textK.text = String(c + 273.15);
}
protected function textK_changeHandler(event:TextOperationEvent):void
{
	var v:Number = parseFloat(textK.text);
	var c:Number = v - 273.15;
	textC.text = String(c);
	textF.text = String(c*9/5+32);
}

Flash Builder 4.5から実機で実行してみる

 最後に、実機で実行してみましょう。Flash Builder 4.5では、Android端末をUSBでつないで実行するだけで、アプリケーションが自動的に実機へ転送されインストールが行われます(このときAndroid端末側のアプリケーションの設定で[提供元不明のアプリを使えるようにする]にチェックしておきます)。

 メインメニューの[実行 > デバッグ構成]をクリックしてダイアログが表示されたら、起動方法を「デバイス上(アプリケーションをUSB経由のデバイスにインストール)」に変更してデバッグを実行します。このとき、Android端末に、AIRランタイムの最新版が自動的にインストールされます。

「GALAXY S」実機での実行画面 左:[長さ]中:[重さ]右:[温度]
実機での実行画面 左:[長さ]中:[重さ]右:[温度]

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

著者プロフィール

  • クジラ飛行机(クジラヒコウヅクエ)

    ソフト企画「くじらはんど」にて、多数のフリーソフトを公開しています。日本語プログラミング言語「なでしこ」、テキスト音楽「サクラ」、日本語Wiki記法が特徴の「KonaWiki」などを公開しています。

All contents copyright © 2005-2018 Shoeisha Co., Ltd. All rights reserved. ver.1.5