2012-05-11 24 views
0

我使用Flex構建Adobe Air應用程序。在你介紹一些像ArrayCollection格式代碼的國家列表和國籍列表之類的東西之後會變得雜亂和令人難以置信的長。如何在Flex中將ArrayCollection分離爲單獨的文件?

是否可以將ArrayCollection放入同一Flex項目中的單獨文件中,然後在需要時或編譯時加載它們?

回答

1

是;在ActionScript中創建一個擴展ArrayCollections的類,然後對ArrayCollection的元素進行硬編碼。也許在你的新類的構造函數中。

您應該可以在任何可以使用ArrayCollection的地方使用這個新類。

More info on creating classes in ActionScript.

+0

如果我創建一個新的ActionScript類,並在構造函數中放置硬編碼的ArrayCollection值,我將如何從原始mxml文件中調用相同的ArrayCollection? – Cninroh

+0

創建新班級的實例;就像你[或許]正在做ArrayCollection一樣。我想你在問一些補救性的問題,所以你可能從Flex in a Week培訓中受益:http://www.adobe.com/devnet/flex/videotraining.html和/或閱讀「ActionScript/Flex介紹」書。 – JeffryHouser

0

所以,你實現AIR應用程序,它顯示/使用了大量的數據。您不希望對這些數據進行硬編碼,而且您真的不希望擴展ArrayCollection,只是爲了將數據移到類外。這種最靈活的解決方案是將數據填充到XML文件中,將其編譯到應用程序中並實現解析器以從數據創建對象(或更好的類實例)。這應該隱藏代理,適配器或您想要使用哪種模式。

當你有這個功能時,你可以重新使用它,只需要實現不同的數據源適配器,如從文件系統異步加載數據(或作爲打包的Air應用程序中的資產),從數據中獲取數據隨Air提供的數據庫或使用(Web)服務(JSON,XML,AMF)的數據庫。這可能是一個很好的練習,可以讓您的應用程序更加模塊化,並使其更易於測試。

說到繼承,你應該贊成組合繼承。這是設計應用程序時最常見的做法。

相關問題