关于FlashBuilder项目FlashBuilder将构成应用程序的资源(文件夹和文件)组合到一个容器中,我们将其称为项目。项目包含一组属性,这些属性控制应用程序的构建方式、构建的应用程序所在的位置、调试的处理方式以及该项目于工作空间中其他项目的关系。要管理项目,可以使用“包资源管理器”视图来添加、编辑和删除资源。还可以关闭工作空间中的项目、导入资源以及链接外部资源。Flex项目使用Flex项目可以构建基于Flex框架的Web应用程序,也可以构建基于Flex框架的桌面应用程序。Web应用程序在AdobeFlashPlayer中运行,而桌面应用程序在AdobeAIR中运行。创建项目时,请指定项目是针对Web应用程序,还是针对桌面应用程序。Flex项目包含一组属性,这些属性可控制应用程序的构建方式、已构建的应用程序所在的位置、调试的处理方式以及该项目与工作空间中其它项目之间的关系。Flex项目包含默认的MXML应用程序文件。项目中的其它MXML文件也可以是应用程序文件。创建Flex项目使用以下过程可以创建您的基本Web应用程序或桌面应用程序。1.选择“文件”“新建”“Flex项目”。2.输入项目名称和位置。默认位置为当前的工作空间。3.对于应用程序类型,选择“Web”或“桌面”。4.使用默认的FlexSDK,或浏览到另一安装的SDK。单击“下一步”。5.(可选)指定“服务器设置”。6.指定“输出文件夹”。如果未指定应用程序服务器,则位置位于您的项目文件夹内。如果指定了应用程序服务器,输出服务器位于项目文件夹之外。通常,将输出文件夹与服务文件放在一起。7.单击“完成”,或者单击“下一步”以指定其它配置选项。8.(可选)指定构建路径和其它配置选项。9.单击“完成”。Flex库项目使用Flex库项目可以构建可在应用程序之间共享或分发给其他开发人员的自定义代码库。通常,使用库项目将组件和资源进行打包并分发给其他开发人员。库项目会生成SWC文件,该文件是Flex组件和其它资源的归档文件。FlashProfessional项目使用FlashProfessional项目可以编辑、构建或调试在AdobeFlashProfessional中创建的FLA或XFL文件。通过该功能,FlashProfessional开发人员可以利用FlashBuilder提供的编辑和调试环境。只有在安装了FlashProfessional的情况下,FlashProfessional项目才可以在FlashBuilder中使用。ActionScript项目使用ActionScript项目可以创建基于FlashAPI或AdobeAIRAPI的Web应用程序或桌面应用程序。创建项目时,请指定项目是针对Web应用程序,还是针对桌面应用程序。由于这些项目不使用MXML来定义用户界面,因此,您无法在设计模式下查看应用程序布局和设计。您只能在源代码编辑器中工作,并根据需要使用调试工具,然后将项目构建成SWF文件以预览和测试您的应用程序。如果您创建了一个ActionScript项目或一个独立的ActionScript文件以包含函数、类或接口,系统将修改Flex开发透视图以支持ActionScript编辑器。ActionScript编辑器的主要支持视图是“大纲”视图和“问题”视图。创建ActionScript类可以使用FlashBuilder中的向导来为Flex和ActionScript项目快速创建ActionScript类。该向导还提供了一种为必须实现的函数生成存根的简便方式。1.选择“文件”“新建”“ActionScript类”。2.在对话框中指定新类的基本属性,然后单击“完成”。3.单击“完成”后,FlashBuilder会将文件保存到指定的包中,并在代码编辑器中打开该文件。创建ActionScript接口可以使用FlashBuilder中的向导为Flex和ActionScript项目快速创建ActionScript接口。接口是各种类间可以共享的常量和方法的集合。1.选择“文件”“新建”“ActionScript接口”。2.在对话框中指定新接口的基本属性,然后单击“完成”。3.将各种类间共享的任何常量或方法添加到ActionScript接口中。创建ActionScriptSkinnable组件可以使用FlashBuilder中的向导为Flex项目快速创建ActionScript组件。1.选择“文件”“新建”“ActionScriptSkinnable组件”。2.指定新Skinnable组件的基本属性,然后单击“完成”。FlashBuilder将创建从基本组件或Skinnable组件扩展的ActionScript类。默认情况下,基本组件为spark.components.supportClasses.SkinnableComponent。然而,您可以将基本组件更改为属于Skinnable组件子类的任何其它组件。也可以添加新Skinnable组件可以实现的任何ActionScript接口。有关创建ActionScript接口的更多信息,请参阅第36页的“创建ActionScript接口”。SkinnableComponent在选定位置和包中创建。默认情况下,在主MXML文件中自动添加对该组件的引用。文件和文件夹1)创建文件或文件夹可以根据需要向项目中添加文件夹。例如,您可以创建用于存储所有数据模型的文件夹。也可以组织构成应用程序可视设计的所有资源。1.选择“文件”“新建”“文件夹”(或“文件”)。2.如果工作空间中有多个项目,选择要添加到独立文件夹的项目。如果在源路径文件夹中创建文件夹,则会将该文件夹视为包名。然后,可以将编译器识别的源文件放在其内。如果在源路径文件夹的外部创建文件夹,则可以以后将该文件夹添加到源路径中,使该文件夹成为包结构的根文件夹。完成此过程后,选择“项目”“属性”,然后选择“Flex构建路径”。单击“添加文件夹”,然后导航到新建的文件夹。3.输入文件夹名并单击“完成”。2)利用文件和文件夹还可以链接到项目工作空间外部的资源我们可以创建指向项目和工作空间位置外部的资源的链接。可以链接到位于文件系统中任何位置的文件夹和文件。如果所包含的资源已在项目之间共享,则此选项非常有用。例如,您可以在多个不同的Flex项目之间共享由自定义的Flex组件或ActionScript文件组成的库。链接资源的其它示例包括:包含图像文件资源的文件夹,或输出文件夹不在项目根文件夹中的情况。使用共享资源时,对源文件夹和文件所做的更改会影响链接到这些文件夹和文件的所有项目。从项目中删除所链接资源时一定要小心,因为有时只会删除链接引用,有时却会删除源本身。最佳做法是将其它项目链接到库项目。仅对于含有SWC文件的第三方库,才鼓励使用链接的资源。链接到项目工作空间外部的资源步骤如下:1.在包资源管理器中,选择要将链接的资源添加到的项目。2.选择“文件”“新建”“文件夹”(或“文件”)。3.选择要将链接的资源添加到哪个项目或项目文件夹。4.输入文件夹或文件的名称。输入的文件夹或文件名称可以与要链接到的文件夹或文件的名称不同。5.单击“高级”按钮。6.选择“链接至文件系统中的文件夹”。输入或浏览到资源位置。7.单击“完成”,将资源链接到项目。创建自定义MXML组件您可以创建自定义组件,以便为现有组件添加功能,或构建可重复使用的组件,如搜索框或数据网格中的项显示。还可以编写一个Flex框架中未提供的新组件。在设计模式下,“组件”视图会显示您所创建的组件。可以使用SWC文件分发组件。如果您的组件主要由现有组件构成,可轻松使用MXML对其进行定义。但是,如果组件为新类型的组件,请将其定义为ActionScript组件。1.选择“文件”“新建”“MXML组件”。“新建MXML组件”对话框随即出现:2.为自定义组件文件指定父文件夹。如果希望组件显示在“组件”视图中,则将文件保存到当前项目文件夹或当前项目的源路径的文件夹中。3.为组件指定文件名。文件名定义组件名称。例如,如果将文件命名为LoginBox.mxml,则组件的名称将为LoginBox。4.在“基于”字段中,选择自定义组件的基本组件。自定义组件通常派生自现有组件。通常使用容器作为布局自定义组件的基本组件。5.选择“浏览”以打开“打开类型”对话框,然后选择组件。在“打开类型”对话框中修改或清除所建议的组件,以扩大选择范围。例如,在单击“浏览”之前指定spark.components。可以根据需要在“打开类型”对话框中过滤选择范围。有关使用“打开类型”对话框的信息。6.(可选)如果基于容器自定义组件,则可以通过各个选项设置组件的宽度和高度。可以将这些选项设置为固定宽度和高度或固定百分比,也可以清除它们。当创建组件实例时,可以在实例中覆盖组件的宽度和高度。如果设置了百分比宽度和高度或未设置任何宽度和高度,则可以在设计模式下,使用MXML编辑器工具栏中的“设计区域”弹出菜单,来预览该组件以不同大小显示的效果。7.单击“完成”。FlashBuilder将文件保存在父文件夹中,并在编辑器中将其打开。如果将文件保存在当前项目或当前项目的源路径中,FlashBuilder也会将该组件列在“组件”视图中,以便您将其快速插入到应用程序中。“组件”视图仅会列出可见自定义组件(从UIComponent类继承的组件)。8.创建自定义组件。创建MXML模块MXML模块(Module)加载是Adobe解决Flex系统应用初始化时较大的下载负载而设计的一种折中方案。Module是为自己项目准备的,如果你的项目编译后大小是1.5MB,那么也许在你使用module把项目合理分割以后大小会是700K+200K+100K+200K+200K+200K。为什么后面的模块体积会变小,就是因为公有的类引用没有重复编译到他们之中了。所以Module是为同一个项目准备的,他们之间有很强的依赖关系,并不是为其他项目提供“包”。Module实际上是一个预编译的SWF文件。虽然是SWF格式的文件,但是这个文件不能独立运行,并且只能被ModuleLoader加载后才能显示。逻辑上它是一个容器,可以像一般的容器一样包含别的容器,组件,甚至是别的Module模块。根据需要,预编译的Module模块可以被应用加载和卸载。可以在FlashBuilder中创建、添加、优化和调试模块。下列步骤说明如何在FlashBuilder中创建模块。创建模块后,可以对其进行编译。1.在FlashBuilder中,选择“文件”“新建”“MXML模块”。出现“新建MXML模块”对话框。2.为模块选择父目录。模块通常存储在主应用程序所在的目录中,以便它们指向共享资源的相对路径相同。由于模块是可运行的,因此它们必须位于项目的源文件夹中。3.为模块输入文件名,例如MyModule。4.为模块输入“宽度”、“高度”和“布局”属性。5.指定是否优化模块。如果为应用程序优化一个模块,将从该模块中排除此应用程序使用的类。这会使SWF文件的下载文件变小。如果选择“针对以下应用程序优化”选项,请指定优化模块所针对的应用程序。如果选择“不优化”选项,则所有类都将包括在模块中,而不管它们是否已在主应用程序中定义。这可以提高增量编译的性能。此外,还可以将模块加载到任何应用程序中,因为模块已将其所有依赖项编译到自身中。6.单击“完成”。FlashBuilder将在项目中新增一个MXML模块文件生成MXML项呈示器基于列表的Spark控件(例如List和ComboBox)支持自定义项呈示器。也可以将Spark项呈示器与某些MX控件(例如MXDataGrid和MXTree控件)一起使用。使用自定义项呈示器可控制在DataGroup、SkinnableDataContainer或者这些容器的子类中数据项的显示。项呈示器定义的外观可以包括字体、背景颜色、边框以及数据项的任何其它可视方面。项呈示器还定义在用户与数据项进行交