2

実行時にファイルからプロパティをロードする Flex アプリケーションがあります。
例: アプリケーション管理者に電子メール アドレスを渡したいのですが、管理者が変わるたびにアプリケーションを再構築したくありません。プロパティ ファイルを変更したいので、アプリケーションは更新された値をロードする必要があります。

実行時にローカリゼーションをロードするためのチュートリアルを見つけましたが、これは私が必要としているものではありません。
ヘルプ (およびサンプル コード) をいただければ幸いです。

PS。
これにより違いが生じる場合、私のアプリケーションは Flex 3.5 でコンパイルされています。

4

2 に答える 2

3

@Christopheの答えを補完するために:ネイティブに解析を行う方法は2つあります(つまり、サードパーティのライブラリは必要ありません)が、いずれも.propertiesファイルを解析しません。

JSON

(警告: Flash Player 11 以降のネイティブでのみ利用可能)

設定ファイルを json 形式で記述します。

{
    "myProperty": "myValue",
    "otherProp": "someValue"
}

Christophe が説明したのと同じ方法でロードし、次のように処理します。

private function urlLoaderCompleteHandler(event:Event):void {
    var properties:Object = JSON.parse(urlLoader.data);
    trace(properties.myProperty); //myValue
}

XML

構成ファイルを XML 形式で記述します。

<config>
    <myProperty>myValue</myProperty>
    <otherProp value="someValue"/>
</config>

Christophe が説明したのと同じ方法でロードし、次のように処理します。

private function urlLoaderCompleteHandler(event:Event):void {
    var properties:XML= XML(urlLoader.data);
    trace(properties.myProperty.text()); //myValue
    trace(properties.otherProp.@value); //someValue
}
于 2013-06-13T12:44:51.990 に答える
1

URLLoader オブジェクトを使用して外部プロパティ ファイルを読み込み、プロパティを解析する必要があります。解析には、 AS3Commons-Langの StringUtils.parseProperties メソッドを使用できます。

var urlLoader:URLLoader = new URLLoader();
urlLoader.addEventListener(Event.COMPLETE, urlLoaderCompleteHandler);

var request:URLRequest = new URLRequest(url);
urlLoader.load(request);

private function urlLoaderCompleteHandler(event:Event):void {
  var properties:Object = StringUtils.parseProperties(urlLoader.data);
}
于 2013-06-13T12:01:59.077 に答える