SHOEISHA iD

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

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

Flash Builder 4.5でAndroidアプリ開発(AD)

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

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

ダウンロード サンプルソース (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」実機での実行画面 左:[長さ]中:[重さ]右:[温度]
実機での実行画面 左:[長さ]中:[重さ]右:[温度]

次のページ
型チェックが厳しいActionScript 3.0

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

  • このエントリーをはてなブックマークに追加
この記事の著者

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

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

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

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

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

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/5872 2011/06/08 09:56

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング