Application.application.parameters オブジェクトの使用

Application オブジェクトの parameters プロパティは、パラメータを名前と値のペアとして保存する動的オブジェクトを指しています。parameters オブジェクトの変数にアクセスするには、parameters.<変数名> を指定します。

次の例では、myName および myHometown パラメータを定義し、Label コントロールのテキストにこれらの変数をバインドします。

<?xml version="1.0"?>
<!-- wrapper/ApplicationParameters.mxml -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="initVars()">
  <mx:Script><![CDATA[
     // Declare bindable properties in Application scope.
     [Bindable]
     public var myName:String;
     [Bindable]
     public var myHometown:String;
     
     // Assign values to new properties.
     private function initVars():void {
        myName = Application.application.parameters.myName;
        myHometown = Application.application.parameters.myHometown;
     }
  ]]></mx:Script>
  
  <mx:VBox>
  <mx:HBox>
     <mx:Label text="Name: "/>
     <mx:Label text="{myName}" fontWeight="bold"/>
  </mx:HBox>
  <mx:HBox>
     <mx:Label text="Hometown: "/>
     <mx:Label text="{myHometown}" fontWeight="bold"/>
  </mx:HBox>
  </mx:VBox>
</mx:Application>

ユーザーが myName および myHometown パラメータを flashVars 変数として定義してこのアプリケーションを要求すると、それらの値が Label コントロールに表示されます。

flashVars プロパティをすべて表示するには、次の例に示すように、parameters オブジェクトを繰り返します。

<?xml version="1.0"?>
<!-- wrapper/IterateOverApplicationParameters.mxml -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="init()">
  <mx:Script><![CDATA[
     private function init():void {
        for (var i:String in Application.application.parameters) {
           ta1.text += i + ":" + Application.application.parameters[i] + "\n";
        }
     }
  ]]></mx:Script>
  
  <mx:TextArea id="ta1" width="300" height="200"/>

</mx:Application>

要求変数を変更しても、Flex はアプリケーションを再コンパイルしません。したがって、flashVars プロパティまたはクエリ文字列パラメータの値を動的に設定した場合に、再コンパイルは強制されません。

クエリ文字列パラメータは、URL エンコードされている必要があります。ストリング形式は、アンパサンド (&) で区切られた名前と変数のペアです。特殊文字およびプリント不可の文字をエスケープするには、パーセント記号 (%) に続けて 2 桁の 16 進数値を入力します。プラス記号 (+) を使用して 1 つのスペースを表現できます。

flashVars プロパティおよびクエリ文字列パラメータのエンコードは、ページのエンコードと同じです。Windows プラットフォーム上の Internet Explorer は、UTF-16 準拠のストリングを提供します。Netscape は、UTF-8 エンコードされたストリングを Adobe Flash Player に送ります。

ほとんどのブラウザは、最大 64 KB (65535 バイト) 長の flashVars ストリングまたはクエリ文字列をサポートします。名前と値のペアをいくつでも含めることができます。


Flex 2.01