ssCAROのブログ

色んなとこで見つけたプログラムのメモ置き場っぽい

AIRで「Hello World」その3

開発環境:FlashDevelop 4.0.4
プロジェクト:AIR Mobile Flex App
確認端末:Xperia acro

HomeView.mxmlのコントロールから値を取得して結果を返す。

src/views/HomeView.mxml

<?xml version="1.0" encoding="utf-8"?>
<s:View xmlns:fx="http://ns.adobe.com/mxml/2009"
        xmlns:s="library://ns.adobe.com/flex/spark"
        title="HomeView">
    <!-- コントロールを縦に配置 -->
    <s:layout>
        <s:VerticalLayout paddingBottom="10"
                          paddingLeft="10"
                          paddingRight="10"
                          paddingTop="10" />
    </s:layout>

    <fx:Declarations>
        <!-- Place non-visual elements (e.g., services, value objects) here -->
    </fx:Declarations>

    <fx:Script source="../HomeView.as" />

    <s:HGroup>
        <s:Label text="A: " />
        <s:TextInput id="inputA"
                     text="0"
                     width="100" />
        <s:Label text=" + " />
        <s:Label text="B:" />
        <s:TextInput id="inputB"
                     text="0"
                     width="100" />
    </s:HGroup>

    <s:Button label="足し算"
              width="200"
              click="onButtonClick()" />

    <s:Label fontSize="72"
             text="{resultValue}" />

</s:View>

src/HomeView.as に新規作成

[Bindable]
private var resultValue:String = "Hello World";

private function onButtonClick():void
{
    //HomeView.mxmlのコントロール(id)から値を取得する
    var _inputA:Number = parseFloat(inputA.text);
    var _inputB:Number = parseFloat(inputB.text);
    
    //足し算
    var result:Number = _inputA + _inputB;
    
    //結果を返す([Bindable]にしているので自動で画面が更新される)
    resultValue = result.toString();
}

Flashのプログラムは初めてで右も左も分からない状態で"Android AIR AS3 作成"とかで検索しても、さっぱり分からないし簡単なプログラムのメモです。 ここまで分かれば、Flex 4、ActionScript3.0のリファレンスを見ても何とかなるかも。