2012-05-11 17 views
0

Flexを使用してAdobe Airアプリケーションを構築します。 ArrayCollectionで国のリストや国籍のリストのようないくつかのものを紹介した後、フォーマットコードが乱雑になり、信じられないほど長くなります。ArrayCollectionをFlexで別々のファイルに分割する方法は?

ArrayCollectionを同じFlexプロジェクト内の別々のファイルに配置し、必要に応じて、またはコンパイル時にロードすることは可能ですか?

答えて

1

はい、 ArrayCollectionsを拡張し、ArrayCollectionの要素をハードコードするActionScriptを作成します。おそらくあなたの新しいクラスのコンストラクタの中にあります。

この新しいクラスは、ArrayCollectionを使用できる場所であればどこでも使用できます。

More info on creating classes in ActionScript.

+0

新しいActionScriptクラスを作成し、ハードコードされたArrayCollection値をコンストラクタに配置すると、元のmxmlファイルと同じArrayCollectionをどのように呼び出すことができますか? – Cninroh

+0

新しいクラスのインスタンスを作成します。おそらくあなたが現在ArrayCollectionを使っているのと同じように。私は是正措置の質問をしていると思いますので、Flexの1週間のトレーニングの恩恵を受けるかもしれません:http://www.adobe.com/devnet/flex/videotraining.htmlおよび/または「ActionScript/Flexの紹介」本。 – JeffryHouser

0

だから、あなたは/表示する航空アプリケーションを実装し、大量のデータを使用しました。このデータをハードコードしたくないので、クラスの外にデータを移動するためにArrayCollectionを拡張する必要はありません。この最も柔軟なソリューションは、データをXMLファイルに埋め込み、アプリケーションにコンパイルし、パーサーを実装してデータからオブジェクト(またはクラスのより良いインスタンス)を作成することです。これは、プロキシ、アダプタ、または使用するパターンによって隠されるはずです。

この機能を使用すると、再利用する可能性があります。ファイルシステム(またはパッケージ化されたAirアプリケーションのアセット)からデータを非同期にロードするなど、さまざまなアダプタをデータソースに実装する必要があります。 Airと一緒に出荷されるデータベース(JSON、XML、AMF)を使用します。これは、アプリケーションをモジュール化してテストしやすくするための良い練習になるかもしれません。

継承に関しては、継承よりも構成を優先してください。これは、アプリケーションの設計における共通のベストプラクティスです。

関連する問題