アクセシビリティ
Adobe
サインイン 注文状況 マイアカウント

Flex ドキュメンテーション

例 2


目次

  1. ローカル SharedObject について
  2. ローカル SharedObject の作成
  3. 例 1
  4. 例 2

次の例は前の例と似ていますが、単純なオブジェクトを扱う点が異なります。Array や Date などのオブジェクトを直列化および非直列化することなく SharedObject に格納できることを示しています。

次の例は、"lso2.mxml" ファイルの内容です。

<?xml version="1.0" encoding="iso-8859-1" ?>
<mx:Application xmlns:mx="http://www.macromedia.com/2003/mxml" initialize="initApp();">
  <mx:Script source="LSO2_script.as"/>
  <mx:VBox backgroundColor="white" borderStyle="solid" marginLeft="10" marginBottom="10" width="150">
  <mx:Label text="Color"/>
  <mx:TextInput id="myColor" width="100" />

  <mx:Label text="Scent"/>
  <mx:TextInput id="myScent" width="100" />

  <mx:Label text="Height"/>
  <mx:TextInput id="myHeight" width="30" />

  <mx:Label text="Last SetVal On"/>
  <mx:TextArea id="myLastDate" width="100" height="75" />
</mx:VBox>

<mx:Button label="Set Values" click="setVal();" />

</mx:Application>
次の例は、"LSO2_script.as" ファイルの内容です。
var myArray:Array;
var myLSO:SharedObject;

function initApp() {
  // ローカル SharedObject を初期化します。
  myLSO = SharedObject.getLocal("flowerValues");
  if (myLSO==null) {
    alert("Cannot create Local Shared Object","Error");
  } else {
    getVal();
  }
}

function getVal() {
  // ローカル SharedObject から値を取得します。
  myArray = myLSO.data.flowerArray;

  myColor.text = myArray[0];
  myScent.text = myArray[1];
  myHeight.text = myArray[2];

  myLastDate.text = myLSO.data.date;
}

function setVal() {
  // ローカル SharedObject に値を設定します。
  myArray[0] = myColor.text;
  myArray[1] = myScent.text;
  myArray[2] = myHeight.text;

  myLSO.data.flowerArray = myArray;
  myLSO.data.date = new Date();
  myLSO.flush();
}

より複雑な SharedObject オブジェクト使用例については、"samples.war" ファイルに含まれる Flex サンプルアプリケーションを参照してください。