2012-05-11 22 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)的数据库。这可能是一个很好的练习,可以让您的应用程序更加模块化,并使其更易于测试。

说到继承,你应该赞成组合继承。这是设计应用程序时最常见的做法。

相关问题