精华内容
下载资源
问答
  • Flex 4实战》.pdf

    千次下载 热门讨论 2013-01-07 16:43:10
    Flex4中引入了新的ui组件,提供了更好的性能监控,并且大大提高了编译速度。《Flex 4实战》是一本全面的指南,为web设计人员和开发人员提供了Flex的详细介绍。《Flex 4实战》从基础讲起,介绍了有关表单和数据的知识...
  • flex4很多种之前学习收集的各种文档(Adobe - Flex 快速入门基础 Flex 组件的定位和布局,Flex+Css完全手册,flex中文帮助,Flex4.0API,flex教程,FLEX4_Flex4教程,flash_ActionScript_3.0实用教程,flex4自定义皮肤详解,...
  • FLEX4_Flex4教程 - FLEX4从入门到精通,挺不错的值得一看
  • flexApi加 flex4指导

    2017-09-30 15:08:33
    flexApi加 flex4指导flexApi加 flex4指导flexApi加 flex4指导
  • Flex4 权威代码指南(清晰中文版)pdf+目录+含源代码

    千次下载 热门讨论 2012-11-14 10:50:35
    Flex4 权威代码指南》(中文版)PDF清晰版,含code源代码  本书是Adobe公司的官方教程,手把手教你贯通Flex4开发,是Flex技术入门首选。本书以课程的形式逐步讲解了如何用Flex 4开发一个完整的网上杂货商店应用...
  • Flex 3 与 Flex 4 之间的区别

    千次阅读 2013-10-20 00:34:30
    http://www.adobe.com/cn/devnet/flex/articles/flex3and4_differences.html   Flex 4(代码名:Gumbo) 发行...但是作为 Flex 3 开发人员,您在使用 Flex 4 编译 Flex 3 应用程序时可能不会遇到太多难题,因

    http://www.adobe.com/cn/devnet/flex/articles/flex3and4_differences.html

     

    Flex 4(代码名:Gumbo) 发行版在 Flex 3 基础上做出重大改动。Flex 4 引入了一个新的组件和外观架构。但是作为 Flex 3 开发人员,您在使用 Flex 4 编译 Flex 3 应用程序时可能不会遇到太多难题,因为新发行版的目的之一是保持与 Flex 3 的向后兼容性。

    在本文中,我将简要概述 Flex 4 的主要目的和架构区别并介绍组件、布局、状态使用和效果方面的变化。我还将针对使用 Flex 4 编译 Flex 3 应用程序时遇到的情况回答一些提问。本文无法涵盖 Flex 4 的所有新增功能。相关信息请阅读 Flex 4 新增功能一文。

    本文中的术语 MX 组件是指 Flex 3 原先包含的组件。术语 Spark 组件是指 Flex 4 中的一套新组件。

    将应用程序迁移到 Flex 4

    将 Flex 3 应用程序迁移到 Flex 4 时,步骤并不复杂。除了一些缺陷修复以及默认主题稍有变化,您的应用程序通常可以像 Flex 3 中那样正常运行(或更好)。但您必须注意几点。

    播放器依赖性

    请务必针对 Flash Player 10 进行编译。Flex 4 SDK 需要 Flash Player 10 支持。

    字体选择器需要一个命名空间

    CSS 字体选择器将 Flex 类命名为 style。例如,以下是 Button 和 DateField 的字体选择器:

    Button {    cornerRadius: 10;}DateField {   color: #780800;}

    从 Flex 4 SDK 开始,当应用程序使用字体选择器时,需要命名空间。如果您只在 Flex 应用程序中使用 MXML 2006 命名空间,请将以下默认命名空间声明添加到 CSS 中:

    <mx:Style>    @namespace "http://www.adobe.com/2006/mxml";…</mx:Style>

    如果在应用程序中使用多个命名空间,您需要在 CSS 中提供各个命名空间。有关示例,请参阅本文稍后部分中的 Flex 4 中的命名空间与包

    此外,如果应用程序使用 StyleManager.getStyleDeclaration("Button") 等方法,字体选择器必须包含它的包。例如,对 getStyleDeclaration() 的调用将改为 StyleManager.getStyleDeclaration("mx.controls.Button")。

    主题更改

    Flex 3 (MX) 组件的默认主题现在是 Spark 主题。因此,当您使用 Flex 4 SDK 编译应用程序时,它的外观和大小可能有所不同。但是,如果要使用 Flex 3 的外观,您还是可以做到的,因为 Flex 4 包含 Flex 3 的 Halo 主题。要使用 Halo 主题进行编译,您可以使用附加编译器参数 -compatibility-version=3.0。在 Flash Builder 4 中,您可以在“Properties Panel”(属性面板)中这样做。在“Properties Panel”(属性面板)中,选择“Flex Compiler”(Flex 编译器)并单击“Use Flex 3 compatibility mode”(使用 Flex 3 兼容性模式)复选框(请参阅图 1)。

    使用 Flex 3 兼容性模式
    图 1.使用 Flex 3 兼容性模式

    您也可以通过“Properties”(属性)->“Flex Theme”(Flex 主题)面板将主题从默认 Spark 主题改为 Halo。在“Flex Theme”(Flex 主题)面板中,单击 Halo 主题(请参阅图 2)。

    从“Properties Panel”(属性面板)中选择“Halo Theme”(Halo 主题)
    图 2.从“Properties Panel”(属性面板)中选择“Halo Theme”(Halo 主题)

    如果您选择使用新的 Spark 主题,请注意许多可用于 Halo 主题的样式无法用于 Spark 主题。Spark 主题只支持数量有限的样式。要了解 Spark 外观可以使用哪些样式,您应当参阅 ASDoc。将为每个组件列出的各个样式指定一个“主题”。如果未指定主题,表示该样式既可用于 Halo,也可用于 Spark 主题。Flex 4 还加入了一种设计用于快速模型的线框外观。线框主题不支持样式更改。

    除了主题更改外,Flex 4 应用程序的默认预下载器也已经改为 mx.preloaders.SparkDownloadProgressBar。这个更轻量级的预下载器可以缩短一些启动时间。如果要使用 Flex 3 预下载器,您只需更改一行代码。在Application 标签中添加以下内容:preloader="mx.preloaders.DownloadProgressBar"

    如果要将应用程序从 Flex 3 迁移到 Flex 4 ,我不建议将各个 Flex 3 MX 组件替换为它们对应的 Flex 4 组件。这样投入时间可能并不是一个好方法。您应当为新的应用程序转而使用 Flex 4 组件架构。

    自动库位置更改

    在 Flex 3 中,自动库位于 {sdk}/frameworks/libs 中,而在 Flex 4 中,它位于 {sdk}/frameworks/libs/automation 中。用户应当确保 frameworks/libs 中没有自动库副本。 

    Flex 4 架构变化概述

    Flex 4 SDK 的重要主题之一是“用心设计”。这个目标涉及在设计人员和开发人员之间创造一个更顺畅的工作流程。为了帮助实现这一点,该框架将组件可视部分与其剩余行为明确划分开。在 Flex 3 中,组件的代码包括以其行为、布局和可视变化为中心的逻辑。在 Flex 4 中,组件被划分为不同的类,各个类负责处理特定的行为。

    Gumbo 架构文档中的说明如下:

    主组件类,即类名与组件的 MXML 标签名匹配的那个类封装了组件的核心行为。这包括定义组件调度的事件、组件表示的数据、接通作为主组件组成部分的任何子组件以及管理和跟踪内部组件状态(稍后我们将详细讨论状态)。

    与之相应的组件类是一个外观类,它负责管理与组件的可视外观相关的一切内容,包括图形、布局、表示数据、更改不同状态中的外观以及从一个状态过渡到另一个状态。在 Halo 模型中,Flex 组件外观是只负责组件的某个图形部分的资源。更改组件外观的任何其他方面,如布局或状态可视化,需要将组件子类化并直接编辑 ActionScript 代码。在 Gumbo 模型中,所有这一切都在外观类中以声明方式进行定义,并且主要通过名为 FXG 标签的新图形标签进行定义。”

    要进一步了解 Flex 4 中新的图形标签,您可以阅读 FXG 文档

    作为上述架构的示例,您可以参考 spark.components.Button 类的代码。这个类只包含以组件行为为中心的逻辑。在外观类 spark.skins.spark.ButtonSkin 中定义这个组件的所有可视部分。

    考虑到性能,Flex 4 SDK 为开发人员提供了构造块,可供他们根据需要选择功能。默认情况下,关闭并非所有应用程序都需要的重量级功能,如滚动和虚拟化。

    Flex 4 中的命名空间与包

    在将 Flex 3 类原封不动地保留在同一 mx.* 包中的同时,Flex 4 SDK 为组件、核心类、效果、滤镜、布局、基元、外观和 utils 引入了 spark.* 包。

    Flex 4 SDK 提供一套新的组件和效果,它们与 Flex 3 组件共享许多相同类名。为了避免 MXML 中出现名称冲突,Flex 4 SDK 随附四个独特的命名空间:MXML 2006、MXML 2009、Spark 和 Mx。

    MXML 2006:之前版本的 Flex 中使用的旧版 MXML 语言命名空间。使用 Flex 4 beta 编译的 Flex 3 应用程序可以继续使用这个命名空间。

    URI:http://www.adobe.com/2006/mxml

    默认前缀:mx

    MXML 2009:新的 MXML 语言命名空间。这纯粹是一个语言命名空间,包含组件标签。

    URI:http://ns.adobe.com/mxml/2009
    默认前缀:fx

    Spark:这个命名空间包含所有新的 Spark 组件。它应当与 MXML 2009 语言命名空间一起使用。

    URI:library://ns.adobe.com/flex/spark
    默认前缀:s

    MX:这个命名空间包含所有 MX 组件。它应当与 MXML 2009 语言命名空间一起使用。

    URI:library://ns.adobe.com/flex/mx
    默认前缀:mx

    以下是使用 MXML 2009、Spark 和 Halo 命名空间创建一个简单的 Flex 4 beta 应用程序的简明示例。它使用一个 MX DateChooser 和一个 Spark Button。

    <s:Application  xmlns:fx="http://ns.adobe.com/mxml/2009"    xmlns:s="library://ns.adobe.com/flex/spark"  xmlns:mx="library://ns.adobe.com/flex/mx">        <mx:DateChooser id="main_calendar" x="20" y="20"/>    <s:Button label="submit" x="220" y="20"/> </s:Application>

    Flex 4 SDK 还在 CSS 中加入了多命名空间支持。如果将 MXML 2009、Spark 和 MX 命名空间与字体选择器一起使用,您需要在 CSS 定义中定义一组命名空间以避免名称冲突。

    以下是一个将字体选择器用于 MX 和 Spark 组件的 CSS 示例:

    <fx:Style>     @namespace s "library://ns.adobe.com/flex/spark";    @namespace mx "library://ns.adobe.com/flex/mx";     s|Button {        color: #FF0000;    }     mx|DateChooser {        color: #FF0000;    } </fx:Style>

    默认 Property 和 Declarations 标签

    在 Flex 4 SDK 发布之前,Flex 语言允许 Application 根标签包含可视子代和非可视子代。可视子代与addChild() 一起添加到 Application,非可视子代则作为属性声明。随后,表示新属性声明的非可视子代不可以作为 Application 的直接子代。您可以将这些非可视子代添加到 <fx:Declarations> 标签下。这包括效果、验证程序、格式化程序、数据声明和 RPC 类等非可视子代。以下是一个简短的示例:

    <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"     xmlns:s="library://ns.adobe.com/flex/spark">    <fx:Declarations>        <s:Fade id="fadeEffect" target="{targetButton}" alphaFrom="1" alphaTo="0" />           </fx:Declarations>    <s:Button id="targetButton" />    <s:Button label="play effect" click="fadeEffect.play()" x="80" /></s:Application>

    新增组件和容器

    如前所述,Flex 4 SDK 引入了许多使用新架构的新组件类,它们应当可以令外观和其他自定义操作更简单。下表列出了 Flex 3 MX 组件及其 Flex 4 Spark 对应组件:

    Flex 3 MX 组件 Flex 4 beta Spark 组件
    mx.controls.Button spark.components.Button
    mx.controls.ButtonBar spark.components.ButtonBar
    mx.controls.CheckBox spark.components.CheckBox
    mx.controls.ComboBox spark.components.DropDownList(不可编辑)
    mx.controls.HorizontalList spark.components.List(带一个 HorizontalLayout)
    mx.controls.HRule spark.primitives.Line
    mx.controls.HScrollBar spark.components.HScrollBar
    mx.controls.HSlider spark.components.HSlider
    mx.controls.Image spark.primitives.BitmapImage(不支持外部图像)
    mx.controls.LinkBar spark.components.ButtonBar(带一个自定义外观)
    mx.controls.LinkButton spark.components.Button(带一个自定义外观)
    mx.controls.List spark.components.List
    mx.controls.NumericStepper spark.components.NumericStepper
    mx.controls.RadioButton spark.components.RadioButton
    mx.controls.RadioButtonGroup spark.components.RadioButtonGroup
    mx.controls.TextArea spark.components.TextArea
    mx.controls.TabBar spark.components.TabBar
    mx.controls.TextInput spark.components.TextInput
    mx.controls.TileList spark.components.List(带一个 TileLayout)
    mx.controls.ToggleButtonBar spark.components.ButtonBar
    mx.controls.VideoDisplay spark.components.VideoPlayer
    mx.controls.VRule spark.primitives.Line
    mx.controls.VScrollBar spark.components.VScrollBar
    mx.controls.VSlider

    spark.components.VSlider

    mx.core.Application spark.components.Application
    mx.core.Window spark.components.Window
    mx.core.WindowedApplication spark.components.WindowedApplication
    mx.containers.ApplicationControlBar spark.components.Application(带 controlBarContent)
    mx.containers.Canvas spark.components.Group
    mx.containers.ControlBar spark.components.Panel(带 controlBarContent 属性)
    mx.containers.HBox spark.components.HGroup
    mx.containers.Panel spark.components.Panel
    mx.containers.Tile spark.components.Group(带一个 TileLayout)
    mx.containers.VBox spark.components.VGroup

    Adobe 鼓励您与 Spark 组件一起使用 MX 组件和容器。由于 Adobe 在同一基类 (UIComponent) 上构建组件,Spark 与 MX 之间应当可以实现全面的可互操作性。下表列出了目前没有 Spark 直接等效类的组件和容器。

    Flex 3 类,没有直接的 Flex 4 beta 对应类
    mx.controls.Alert
    mx.controls.ColorPicker
    mx.controls.DataGrid
    mx.controls.DateChooser
    mx.controls.DateField
    mx.controls.Menu
    mx.controls.MenuBar
    mx.controls.PopUpButton
    mx.controls.PopUpMenuButton
    mx.controls.ProgressBar
    mx.controls.RichTextEditor
    mx.controls.Tree
    mx.containers.Accordion
    mx.containers.DividedBox
    mx.containers.Form
    mx.containers.Grid
    mx.containers.TabNavigator
    mx.containers.TitleWindow
    mx.containers.ViewStack

    要将 MX 导航器(ViewStack、Accordion、TabNavigator)用于 Spark 组件,导航器的子代应当是一个 NavigatorContent 组件。否则,您无法在 MX 导航器中使用 Spark 基元。此处是一个示例:

    <mx:ViewStack id="vs" selectedIndex="{tb.selectedIndex}"><s:NavigatorContent label="bar">   <s:layout>     <s:VerticalLayout />   </s:layout>   <s:Label text="bar" />   <s:TextInput /></s:NavigatorContent></mx:ViewStack>

    状态语法中的变化

    Flex 4 将状态功能升级为一个全面的 MXML 语言功能。因此,您可能会发现状态更灵活、更直接。新的状态语法内联程度更高,允许在上下文中指定状态特定变化。以下是 Flex 4 语法中的主要区别:

    • 只有状态是在状态阵列中定义的。
    • 在新的状态语法中,不能使用 AddChild 和 RemoveChild。您必须使用 includeIn 和 excludeFrom 属性在组件上定义组件在特定状态中的角色。

    在以下 Flex 3 示例中,仅当文档的 currentState 为 submitState 时,才使用状态包含一个 Button 并删除一个 TextInput。对于较复杂的状态,这种方法可以做到十分详细。

    <mx:states>    <mx:State name="submitState" basedOn="">        <mx:AddChild relativeTo="{loginForm}" >           <mx:Button label="submit" bottom="10" right="10"/>        </mx:AddChild>        <mx:RemoveChild target="{firstTextInput}"/>    </mx:State></mx:states> <mx:TextInput id="firstTextInput" /><mx:Canvas id="loginForm" />

    以下是一段使用 includeIn 和 excludeFrom、更简单的 Flex 4 代码。

    <s:states>    <s:State name="submitState" /></s:states><s:TextInput id="firstTextInput" excludeFrom="submitState" /><s:Group id="loginForm" >    <s:Button label="submit" bottom="10" right="10" includeIn="submitState"/></s:Group>

    • SetPropertySetStyle 和 SetEventHandler 已替换为新的语法,它允许您限定具备特定状态标识符的 MXML 属性值。

    在以下 Flex 3 示例中,代码为 submitState 中的一个 Button 定义了属性、样式和事件。

    <mx:states>    <mx:State name="submitState" basedOn="">        <mx:SetProperty target="{submitButton}" name="label" value="submit" />        <mx:SetStyle target="{submitButton}" name="textDecoration" value="underline"/>        <mx:SetEventHandler target="{submitButton}" name="click" handler="trace('done');"/>    </mx:State>    <mx:State name="clearState" basedOn="">        <mx:SetProperty target="{submitButton}" name="label" value="clear" />        <mx:SetEventHandler target="{submitButton}" name="click" handler="emptyDocument()" />    </mx:State></mx:states> <mx:Button id="submitButton" />

    在 Flex 4 中,代码如下:

    <s:states>    <s:State name="submitState" />    <s:State name="clearState" /></s:states> <s:Button label.submitState="submit" textDecoration.submitState="underline"   click.submitState="trace('done')" click.clearState="emptyDocument()"   label.clearState="clear" textDecoration.clearState="none"/>

    • 组件不能再处于未定义状态或空状态。默认情况下,声明的第一个状态是组件的初始状态。
      当文档使用 MXML 2009 语言命名空间时,可以使用新语法。可以混合使用旧版语法和新版状态语法。只有 MXML 2006 命名空间中可以使用旧版语法。

    此外,各个组件现在支持外观类中定义的一组状态,这使得根据组件状态应用可视变化更加简单。例如,如果查看 Spark Button 的外观,您会发现已定义以下状态:

    <s:states>    <s:State name="up" />    <s:State name="over" />    <s:State name="down" />    <s:State name="disabled" /></s:states>

    ButtonSkin 类定义了各个状态中 Spark Button 在可视方面的变化。

    以上只是简要介绍了新的 Flex 4 beta 状态语法。有关更多详细信息,请参阅增强的状态文档*

    效果中的变化

    Flex 4 的效果架构改进显著。虽然 MX 效果只能用于不基于 UIComponent 的控件,Spark 效果可用于任何目标,包括框架中的新图形基元。所有这些效果类都包含在 spark.effects.* package 中。由于 Spark 效果可用于 MX 组件、Spark 组件和图形基元,Adobe 建议您在今后的应用程序中使用 Spark 效果类。

    我并未赘述这一问题,因为您可以通过 Chet Haase 的 Adobe Flex 4 中的效果一文了解效果类中新增功能的更多详细信息。

    布局中的变化

    之前的 Flex 版本在各个控件中定义组件和容器布局。因此,List、TileList 和 HorizontalList 等组件都共享布局以外的相同功能。而它们的布局逻辑仍在这些组件类中进行定义。在 Flex 4 中,布局已与组件剥离开来。现在,Application、List、ButtonBar 和 Panel 等 Spark 组件可以通过声明方式定义布局。在所有组件中,Group 类负责管理包含,而 Group 的子代的布局则委派到相关的布局对象。布局除了 FXG 图形基元,还支持 Spark 和 MX 组件。甚至可以在运行时更改布局。

    作为开发人员,您可以轻松编写自定义布局并将它们切入或切出个别组件。以下是定义垂直 List、水平 List 和拼贴 List 的一个示例。

    垂直 List(Spark List 的默认布局是 VerticalLayout):

    <s:List />

    水平 List:

    <s:List>    <s:layout>        <s:HorizontalLayout />    </s:layout></s:List>

    拼贴 List:

    <s:List>    <s:layout>        <s:TileLayout />    </s:layout></s:List>

    如前所述,Flex 4 架构旨在为开发人员提供构造块,供他们根据需要选择功能。默认情况下,关闭虚拟化和滚动。要增加 Group 上的滚动栏选项并开启虚拟化,您需要:

    1) 在布局对象上将   useVirtualLayout  设为   true2) 将一个   Scroller  组件添加到 Group。

    以下是对 Spark Panel 使用虚拟化和滚动的一个示例:

    <s:Panel title="Horizontal Panel" width="300" height="220" left="20" top="20">    <s:Scroller width="100%" height="100%">        <s:Group>           <s:layout>               <s:HorizontalLayout useVirtualLayout="true" />           </s:layout>           <s:TextInput />           <s:Button label="clear" />           <mx:DateChooser />           <s:Button label="submit" />        </s:Group>    </s:Scroller></s:Panel>

    有关 Flex 4 中的所有布局增强(包括对变换的更好支持)的更多信息,请参阅 Spark 布局文档

    使用文本

    所有 Spark 组件都使用 Flash Player 10 中的新文本引擎。这些新类为控制文本度量标准、垂直文本以及连字、双向文本等字形元素提供了低级支持。Flex 4 SDK 在使用文本的所有 Spark 组件中用到了这一功能。有关 Flex 4 提供的文本基元和文本组件的更多信息,请参阅 Spark 文本基元规范中的“文本基元”部分。

    Spark 组件现在还使用 Flash Player 10 和 AIR 1.5 中的 DefineFont4 嵌入字体格式。默认情况下,MX 组件不使用 DefineFont4。将 Spark 和 MX 组件混合在一个应用程序中并嵌入字体时,这会造成一些开销。如果要对所有组件使用同一种嵌入字体,您需要为项目添加一个额外的主题编译器参数。借助这个新主题,MX 和 Spark 组件都将使用同一个 DefineFont4 字体引擎。在“Properties”(属性)->“Flex Compiler”(Flex 编译器)面板中选中“Use Flash Text Engine in MX components”(在 MX 组件中使用 Flash 文本引擎)选项,即可添加这个编译器参数。(请参阅图 3 。

    允许 MX 组件使用 DefineFont4 字体引擎。
    图 3.允许 MX 组件使用 DefineFont4 字体引擎。

    在 Flex 4 应用程序中使用文本时,我建议使用 Flex 4 的三个 Spark 文本组件之一。它们都使用 flash player 的新文本引擎,并且为设备字体和双向文本提供更高质量的文本、字距微调和旋转。以下是 Flex 4 中提供的文本组件之间的区别。

      多行 截断 可选择
    mx.controls.Label
    mx.controls.Text
    spark.components.Label
    spark.primitives.RichEditableText
    spark.primitives.RichText
      可编辑 HTML 格式化 滚动
    mx.controls.Label
    mx.controls.Text
    spark.components.Label
    spark.primitives.RichEditableText
    spark.primitives.RichText

    与 Flex 3 的向后兼容性

    与 Flex 3 一样,您可以使用其他编译器参数编译应用程序:

    -compatibility-version=3.0.0.

    这个编译器参数允许应用程序使用某些 Flex 3 行为,而不是新的 Flex 4 行为。要获得 Flex 4 中支持使用 -compatibility-version 参数的向后兼容性变化的完整列表,请参阅向后兼容性文档

    注意:调用 Flex 3 兼容性时,无法选择性地保留一个 Flex 4 行为变化子集。如果使用参数 -compatibility-version=3.0.0 进行编译,您将获得文档中描述的所有 Flex 3 行为。

    后续工作

    从 Flex 3 迁移到 Flex 4 有可能没那么痛苦。这个框架旨在尽可能地向后兼容。并且,当您熟悉新架构后,您会发现它其实更“灵活”!有关 Flex 4 功能的更多信息,请访问 Web 帮助

     

    展开全文
  • Flex 4 高级编程Flex 4 高级编程Flex 4 高级编程Flex 4 高级编程
  • FLEX4_flex4教程

    2011-09-09 09:40:01
    flex4 flex4与服务器通信 flex 与java通信
  • flex4 高级开发技术 英文版最新 flex4 高级开发技术 英文版最新 flex4 高级开发技术 英文版最新 flex4 advance
  • Flex4实战源代码

    热门讨论 2013-12-19 10:04:00
    Flex4 实战 全部源代码 试过之后确实可以使用
  • flex4.5.1.chm flex4API文档

    2012-02-22 11:00:15
    flex4API文档 flex3的文档在Adobe网上就可,可是4的一直没找着. 这个Flex4API文档,是根据flex4 SDK生产的,非常权威
  • [Flash Builder 4 and Flex 4 Bible] Flex 4 宝典 配套代码
  • Flex4快速开始

    千次阅读 2013-11-26 21:44:40
    转自:...flex4_quick_start_guild  Updated Sep 11, 2010 by hhlai1...@gmail.com 介绍环境介绍flex4+hibernate详细搭建介绍 一.初

    转自:http://code.google.com/p/rapid-framework/wiki/flex4_quick_start_guild

    flex4_quick_start_guild  
    Updated  Sep 11, 2010 by  hhlai1...@gmail.com

    介绍

    以下将详细描述flex4+hibernate的项目搭建方法(本插件由 *随变混混* 贡献)

    环境介绍

    • IDE: MyEclipse 8.5(flex4插件版安装需至少Myeclipse7.0以上)
    • 数据库: Mysql 5
    • JDK: 1.6
    • flash builder4 eclipse插件版本
    • flex sdk 4.0

    flex4+hibernate详细搭建介绍

    优酷视频教程http://v.youku.com/v_show/id_XMTk5NTYwODcy.html

    一.初始项目配置

    1.1 创建名称为flex4demo的web project

    1.2 拷贝rapid-framework至项目根目录

    将rapidframework.zip解压出来的内容全部拷贝至项目根目录,拷贝文件如下.

    1.3 设置项目的编码为utf-8

    右键点击项目,修改项目属性

    1.4 设置源码路径

    1.5 将generator/lib的jars加入classpath

    点击"Add jars"按钮将生成器依赖的jar包需要加入classpath

    项目文件结构

    1.6 安装插件flex4_cairngorm及dao_hibernate

    项目为插件结构,web框架及dao层需要安装(可以安装不同的web框架或是dao层)

    打开plugins/build.xml,并打开MyEclipse的 Outline 视图

    现运行 install_flex4_cairngorm及 install_dao_hibernate 任务

    1.7 在mysql数据库中创建表user_info

    在test数据库创建表,运行如下sql

    CREATE TABLE user_info (
      user_id bigint  PRIMARY KEY AUTO_INCREMENT,
      username varchar(50) not null,
      password varchar(50),
      birth_date date,
      sex int,
      age int  
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

    1.8 修改生成器配置文件generator.properties的jdbc数据库连接信息 其它属性暂不修改

    jdbc.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8 
    jdbc.driver=com.mysql.jdbc.Driver 
    jdbc.username=root 
    jdbc.password=0000

    1.9 运行代码生成器GeneratorMain.java

    以application的方式运行cn.org.rapid_framework.generator.GeneratorMain,直接修改源码,在便生成不同的表.

    public class GeneratorMain {
            /**
             * 请直接修改以下代码调用不同的方法以执行相关生成任务.
             */
            public static void main(String[] args) throws Exception {
                    GeneratorFacade g = new GeneratorFacade();
    //              g.printAllTableNames();                         //打印数据库中的表名称
                    
                    g.clean();                                                      //删除生成器的输出目录
                    g.generateByTable("user_info","template");      //通过数据库表生成文件,注意: oracle 需要指定schema及注意表名的大小写.
    
                    //打开文件夹
                    Runtime.getRuntime().exec("cmd.exe /c start D:\\webapp-generator-output");
            }
    }

    1.10 拷贝生成的代码至项目根目录,并刷新项目

    最好删除不需要的文件夹 


    二.flex相关操作

    2.1 增加Flex Project Nature(1)

    2.2 增加Flex Project Nature(2)

    2.3 增加Flex Project Nature(3)

    2.4 设置Flex Build Path

     改变flex4的主题为Halo,以便兼容flex3的组件特性 

    2.5 设置Flex Applications

    2.6 flex源代码的相关配置修改

    根据生成器生成的flex_src/readme.txt执行如下相关操作.

            //copy follow code to appcommon.flex.GlobalControler.as: cairngorm中event与command的映射
    
                            import com.company.project.user_info.UserInfoRegister;
            
                            // UserInfo event and command mapping
                            UserInfoRegister.initialiseCommands(this);
    
            //copy follow code to appcommon.flex.Services.mxml
    
            <!--userInfoService-->
            <mx:RemoteObject endpoint="../messagebroker/amf"
                                             id="userInfoService"
                                             destination="userInfoService"
                                             showBusyCursor="true"/>


    三.部署

    3.1 修改java_src/spring/applicationContext-datasource.xml的数据库连接信息

    该配置是应用需要连接的数据库,与生成器的数据库连接是分开配置的,与第1.8步的数据库连接配置相同即可

    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
            <property name="driverClassName" value="com.mysql.jdbc.Driver"/>
            <property name="url" value="jdbc:mysql://localhost:3306/test?useUnicode=true&amp;characterEncoding=UTF-8"/>
            <property name="username" value="root"/>
            <property name="password" value="123456"/>
    </bean>

    3.2 部署应用flex4demo至tomcat

    3.3 启动tomcat,访问URL:http://localhost:8899/flex4demo/flex/UserInfoIndex.html

    3.49(附加)改动main.mxml的源码,再部署,访问URL:http://localhost:8899/flex4demo/flex/main.html


    四.flex4强大的功能介绍,IDE内置代码生成器

    选择数据服务

       

    Tips:

    1.由于官方的Blazeds4.0会出现Nan=>0的错误,rapid修改了blazeds的flex-core.jar包,修正为Nan=>null.

    2.若需要将flex4与spring的结合开发,建议不要使用IDE自动生成代码功能,此功能有BUG,官方正在修复中.


    展开全文
  • FLEX4_Flex4教程

    2011-05-26 16:32:21
    FLEX4_Flex4教程 1. Flex + Spring 、 iBATIS 、 Cairngorm
  • Flex3与Flex4对比

    2010-05-24 13:41:11
    介绍了Flex3与Flex4的功能区别,并介绍了Flex4的新增功能。
  • 完美解决 Flex 4 中 实现 图文混排
  • ubuntu下flex4开发环境搭建的总结

    千次阅读 2014-08-17 00:47:03
    首先安装好eclipse 然后分别下载FB4.5ForLinuxaa和FB4.5ForLinuxab...https://fb4linux.googlecode.com/files/FB4.5ForLinuxaa https://fb4linux.googlecode.com/files/FB4.5ForLinuxab 解压合并这两个文件 sudo c
    首先安装好eclipse
    
    然后分别下载FB4.5ForLinuxaa和FB4.5ForLinuxab下载地址如下(再天朝需要穿墙!你懂的.我已经下载到手,有需要可留言)
    https://fb4linux.googlecode.com/files/FB4.5ForLinuxaa
    https://fb4linux.googlecode.com/files/FB4.5ForLinuxab
    解压合并这两个文件
    sudo cat FB4.5ForLinuxa* > FB45ForLinux.tar.bz2
    然后解压到一个文件夹FB4Linux中
     复制到eclipse安装目录下
    在eclipse安装目录下建links文件夹并在这个文件夹下建link文件,内容如下

    path = FB4Linux/eclipse

    最后在FB4Linux目录下新建sdks文件夹

    把flex的sdk放在该目录下

    重启eclipse,配置一下flex sdk。OK 搞定!


    展开全文
  • FLEX4插件破解方法

    2010-08-20 12:44:55
    FLEX4插件破解方法,详细介绍FLEX4插件的破解过程,十分好用
  • flex4与Java通信实例

    2011-03-18 14:57:45
    flex4出来一段时间了,去年看了一段时间flex3,后来由于暂时没有项目需求.所以flex遗忘了很多.这次使用flex4+myeclipse8.5录制了一个视频.以免时间长了遗忘. 软件环境:windows7+flex4+myeclipse8.5+blazeds 功能描述...
  • flex4最新的pdf电子书和全部代码,对快速掌握flex很有帮助,里面有好多自定义组件,界面超炫,可以直接借鉴
  • 在网上寻找了很多相关资料,多是一些...,这里我用的是Flex4的插件   MyEclipse1.0的安装与破解这里就不多说了,flex4的eclipse plug版本官网有下载 https://www.adobe.com/cfusion/tdrc/index.cfm?product=

    在网上寻找了很多相关资料,多是一些乱七八糟的,而有些图片还不规则,气煞我也。

    于是,自己就开始学习一下:自己总结了提供大家一起学习,有图有真相

    ,这里我用的是Flex4的插件

     

    MyEclipse1.0的安装与破解这里就不多说了,flex4的eclipse plug版本官网有下载
    https://www.adobe.com/cfusion/tdrc/index.cfm?product=flash_builder    

    找了很多资料,目前的插件已经继承到了Flex4.8,感觉好不爽,这里就寻求提供了一下Flex3和Flex4的插件地址,点击下载即可
    FB3_WWEJ_Plugin.exe
    http://trials.adobe.com/Applications/Flex/FlexBuilder/3/FB3_WWEJ_Plugin.exe
    FlashBuilder_4_Plugin_LS10.exe
    http://trials2.adobe.com/AdobeProducts/FLBR/4/win32/FlashBuilder_4_Plugin_LS10.exe

    有些插件的安装需要AdobePatchInstaller,而有些需要,这里顺便也提供一下下载地址;

    AdobePatchInstaller.exe
    http://www.adobe.com/support/loganalyzer/AdobeSupportAdvisor.exe

     

    (1)下载完毕,双击选择下一步,协议

    (2).选择这个插件的安装路径,这个就跟安装eclipse一样的这里我选择了C盘,可以修改

    (3)选择关联路径,就是要把它作为一个插件关联到myeclipse。

       这个路径的选择比较讲究。因为默认回去找myeclipse路径下的dropins文件夹,

       所在要选择dropins文件夹的上一级。之前8.0之前的都是Genuitec文件夹,自从9.0之后就修改为MyEclipse了,这里我们找到MyEclipse10.0的安装路径就可以了

     

    第一个选项:仅使用捆绑的eclipse很好理解,就相当于flex builder4一样安装,和myeclipse的关联需要你手动来完成,当然,你不选一,也是可以的。

    (4)安装成功

    (5)安装好以后再去myeclipse8.5的安装目录下的dropins。这时候就会发现多了这个文件

    (6)其实这个时候,安装成功以后就会发现它也有一个Eclipse,但是这个是集成开发的,类似与有专门做Android的Eclipe,有专门做SSH的Eclipse,这个是专门做Flex的Eclipse,我们打开看一下

    (7)而我们现在做的是集成MyEclipse10.0,我们启动MyEclipse10.0,这个时候我们再启动MyEclipse的时候就会发现有一个验证注册提示,没关系 我们输入以下数字给他破解了吧!

    (8)这个时候有个插件安装的提示英文,证明你已经插件安装成功

    (9)但是这个破解只是暂时的,下次上eclipse的时候会自动去官网进行验证。要是盗版,那...所以就彻底破解了吧。直接修改C:\WINDOWS\system32\drivers\etc下的hosts,加上第二句话就好啦。保存。ok

    (10)OK这里我们创建一个Flex项目来进行测试一下吧!

               当然这里使用的Flex项目还需要涉及到另一门技术:blazeds,网上有很多包,比如CSDN,这里就不写超链接了,大家自己准备吧

    BlazeDS是一个基于服务器的Java远程调用(remoting)和Web消息传递(messaging)技术,使得后台的Java应用程序和运行在浏览器上的Flex应用程序能够相互通信。
    BlazeDS 是 Adobe LifeCycle Data Services 的开源版本,遵循 LGPL v3 授权,可以免费使用。BlazeDS 为 Flex 提供了基于 AMF 二进制协议的远程调用支持,其作用相当于 Java 的 RMI。

    有了 BlazeDS,通过简单的配置,一个 Java 接口就可以作为服务暴露给 Flex,供其远程调用。

     BlazeDS 依赖的 Jar
           backport-util-concurrent.jar
           commons-httpclient.jar
           commons-logging.jar
           flex-messaging-common.jar
           flex-messaging-core.jar
           flex-messaging-proxy.jar
           flex-messaging-remoting.jar

     

    首先我们下载完的Blazeds包放在你的Tomcat服务器下进行解析一下就行了

     

    (1)首先创建一个Web项目

    (2)在项目中的WebRoot节点上右击选择import—>GeneralàFile system,展开发现在WEB-INF目录下面多了flex文件夹,这个很重要主要是通信的4个配置文件

    (3)单击Browse 选择tomoat服务器安装地址,然后选择webapps中的blazeds文件夹(就是你配置Blazeds的地址)

    单击确定,然后勾选它

    导入成功

    (3)将部署FlexWeb项目到tomcat里面。这部重要因为下面要整合Flex必须得启动服务。我的Tomcat在E:\Program Files\MyEclipse10.0\apache-tomcat-7.0.23\中

    (4)转换为flex项目,首先选中你的jspweb项目右键选择添加/更改项目类型,在选择添加flex项目类型

    这里再解释一下远程对象访问服务中的LiveCycle Data Services ES(L)与BlazeDS(B)之间的区别?

    什么是LiveCycle Data Service?
    LiveCycle Data Service的前身叫做Flex Data Service,听起来更容易理解,即:Flex应用的数据服务。LC DS是将RIA应用同企业业务逻辑、J2EE、.Net等企业应用结合在一起的服务器软件。该服务器软件需要部署在应用服务器上,例如WebSphere、WebLogic、JBoss、Tomcat和JRun等。

    什么是Blaze Data Service?
            Blaze Data Service以前是LiveCycle Data Service的一部分,现已成为免费开源项目。Blaze DS能够用于实现远程对象调用,并能实现基于Web的消息通讯

    LiveCycle Data Service和Blaze Data Service有什么区别?
            从功能上看,Blaze DS只提供RPC服务、消息服务、代理服务及有限的服务适配器。最重要的区别在于,Blaze DS没有提供数据管理功能,而该功能对于在RIA客户端展示大型数据,实现客户 端同服务器端大容量数据交互处理非常重要。在消息服务方面,二者在性能上也有很大区别

     

    这里的一个截图忘记截图一张了引用一下其他人的吧!意思表达一样,请谅解

    这里我的输出文件夹为  E:\Program Files\MyEclipse10.0\apache-tomcat-7.0.23\webapps\FlexWeb\FlexWeb-debug

    所以就这样填,看你的端口而定然后在加上你的项目名称,上下文根目录就填项目名称就行了。记得点一下验证配置只有通过才有效哦,最后生成效果如下:

    你会发现项目报错,这是因为没有部署应用服务而已,解决方法很简单,如下:

    找到Problems界面看到有一个错误然后右键选重新创建HTML模版,这里错误已经解决;

    但是新的问题有来了,src是Java的源文件夹地方,但现在被flex给占用了,MyEclipse与它Adobe Flash Builder 4 Plug-in\eclipse-host-distro\eclipse.exe的自带的eclipse不一样。

    解决方法如下:在FlexWeb项目上:右键属性——Flex构建路径——主源文件夹,将src修改为flex_src——OK

    这里忘记介绍HelloWorld.java的由来了,下面会讲到

    切换成Flex视图模式,这里我们需要将FlexWeb.mxml移动到flex_src的目录下:如下

    点击OK,切换成MyEclipse视图显示如下:

    这个时候部署已经完成,上面的HelloWorld忘记介绍了,请看下图介绍:

    然后在WEB-INF文件夹下的flex文件夹下的remoting-config.xml下进行编辑

    然后编辑FlexWeb.mxml

    <?xml version="1.0" encoding="utf-8"?>
    <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
    			   xmlns:s="library://ns.adobe.com/flex/spark" 
    			   xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600"
    			   creationComplete="serv.sayHello('小奎')">
    	<fx:Script>
    		<![CDATA[
    			import mx.controls.Alert;
    			import mx.rpc.events.FaultEvent;
    			import mx.rpc.events.ResultEvent;
    
    			// 错误处理函数
    			protected function serv_faultHandler(event:FaultEvent):void
    			{
    				Alert.show("调用失败了"+event.fault.message as String,"消息提示");
    			}
    	
    			// 成功调用函数
    			protected function serv_resultHandler(event:ResultEvent):void
    			{
    				Alert.show("调用成功了"+event.result as String,"消息提示");
    			}
    
    		]]>
    	</fx:Script>
    	<fx:Declarations>
    		<!-- 将非可视元素(例如服务、值对象)放在此处 -->
    		
    		<!-- flex与普通java类通信 -->
    		<s:RemoteObject id="serv" destination="myService" fault="serv_faultHandler(event)" result="serv_resultHandler(event)">
    			
    		</s:RemoteObject>
    		
    	</fx:Declarations>
    </s:Application>
    
    
    
    

    一切准备就绪,看看演示效果吧!(1)首先开启Tomcat(2)在FlexWeb.mxml文件上右击运行Web应用程序。

    注意这里的路径,及Flex构建路径中的输出路径。生成时候会自动生成FlexWeb.html等相关文件和文件夹

     

    OK,到这里就测底结束简单测试了,还算详细吧,花费了两个半小时,作为我们文明的程序员来说,我还是忍不住说2句:”狗日的网速折腾人啊,丫的,真羡慕人家韩国网速“。

    原归正传:其他的Flex知识大家一起交流吧,我也是刚刚接触这门技术,貌似很有前景的,反正多学习总是硬实力吧。

    更多内容请关注新浪微博  @小奎_羽翼;  谢谢

     

     

     

     

     

     

     

     

     

    展开全文
  • Flex4 新特性

    千次阅读 2012-03-14 11:23:54
    原文地址: ...Flex4 新特性概述 Adobe Flex 最初是由 Macromedia 公司发布的,自 2005 年 10 月 Flex 被 Adobe 以 Flex SDK 2.0 发布之后,Flex SDK 已是一个开
  • FLEX 4超炫皮肤

    热门讨论 2010-02-25 15:42:27
    FLEX 4超炫皮肤 FLEX 4超炫皮肤 FLEX 4超炫皮肤 FLEX 4超炫皮肤
  • AdvancED Flex 4

    2010-10-25 08:53:50
    AdvancED Flex 4AdvancED Flex 4AdvancED Flex 4AdvancED Flex 4
  • Flex4 电视墙效果

    2011-10-21 09:15:15
    Flex4 电视墙效果Flex4 电视墙效果Flex4 电视墙效果Flex4 电视墙效果Flex4 电视墙效果Flex4 电视墙效果
  • Flex4 3D旋转效果

    2011-06-09 08:45:00
    Flex3D旋转效果 Flex实现3d 3dRotation Flex学习3d教程 flex builder 如何做出3D效果
  • 研究 flex 4 开发后台管理项目(1)

    千次阅读 2013-09-04 11:48:57
    关于flex优势 flex是非常好的东西,非常适合做后台管理系统,做中国的项目,面对N多xp和ie 6 7 8,还是有非常大的优势的。 做完项目,维护成本也很低,不用考虑各种兼容浏览器问题。局域网的应用速度还是挺快的。 ...
  • flex4 cookbook下载

    2010-09-16 13:11:42
    flex4 cookbook下载flex4 cookbook下载flex4 cookbook下载flex4 cookbook下载flex4 cookbook下载flex4 cookbook下载
  • 在VS2010上用FluorineFX和Flex 4开发项目(asp.net): 使用VS2010和FluorineFX利用ASP.NET与flex 4进行联合开发,环境搭建教程!
  • 原文地址:http://www.dotblogs.com.tw/junegoat/archive/2010/11/17/flex-vgroup-verticalscrollpolicy-vscrollbar.aspx 因為在Flex 3 中 的 VBox 只要設定 ...但是在 Flex4(Flash Builder 4) 已經不見了

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 273,307
精华内容 109,322
关键字:

flex4