【软件工程】Flex-Builder教程_第1页
【软件工程】Flex-Builder教程_第2页
【软件工程】Flex-Builder教程_第3页
【软件工程】Flex-Builder教程_第4页
【软件工程】Flex-Builder教程_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.:.;Flex Builder教程一,概述Flex言语包含了一个丰富的用户界面组件库,MXML一种基于XML的标志言语和ActionScript基于ECMA 262的、强类型面向对象编程言语。MXML用于排布用户界面和处置运用中其他方面的问题,而ActionScript用来处置用户交互逻辑。由于Flash平台的普及, Flex使开发者可以开发广泛的运用程序。开发者可以运用工业规范如XML,CSS和SVC和他们所熟习的方式和范例来创建运用。Flex的分别协作方式和Flex公用组件模型也使得开发者和界面设计者能更好的进展协作,在可靠的、易于维护的架构上消费出在用户体验方面有突破性的产品。 Fle

2、x Builder(FB)之于MXML就如DREAWEAVER之于HTML。FB实现了代码与界面分开,FLEX的类程序扩展名为*.as,语法与java/c+很象,FLEX程序文件扩展名为.mxml,其实就是拥有很多特殊元素的XML文件。 二,运用MXML组件构建用户界面MXML 言语支持两种用户界面组件类型: 控件和容器。容器是包含控件和其他容器的屏幕的矩形区域。控件是表单元素, 如按钮、文本字段和列表框。 可以运用Flex Component ExplorerFlex MXML组件阅读工具来查看一切控件的代码和样例。 1,参与常用可视控件: 运用可视控件组织界面,可以定义组件属性供外部访问

3、A, 基于文本的控件(Text controls): Label(单行文本显示)、Text(多行文本显示)、TextInput(单行文本显示与输入)、 TextArea(多行行文本显示与输入)和 RichTextEditor (富文本显示与输入)控件。用于显示文本和/或接纳用户的文本输入,都有一个 text 属性用于设置要显示的文本。运用 RichTextEditor 控件可以输入文本、编辑文本和设置文本格式。用户经过运用位于 RichTextEditor 控件底部的子控件, 运用文本格式和 URL 链接。 B, 基于按钮的控件组件(Button 系列,Form controls):Butto

4、n(激活时会发出click和buttonDown事件)、LinkButton(用于翻开URL)、CheckBox(标签会被自动裁剪以适宜控件边境。)、RadioButton(指由 标签创建的组) 和 PopupButton 控件(常用于翻开List控件或Menu控件签。)。 2,参与基于列表的控件,并获取数据 基于列表的控件: 是在其承继层次构造内的某些点上扩展 ListBase 类的那些控件。它们包括 ComboBox、List、HorizontalList、DataGrid、Tile、Menu 和 Tree 控件。都可从某数据提供程序的数据获得数据列表。 另: 许多规范控件 (包括 Col

5、orPicker 和 MenuBar 控件) 也是数据提供程序控件。 可以运用两种方法设置组件的数据提供程序: 1),直接在MXML标签中参与数据,将 Array 或 Collection 定义为获得数据提供程序的控件的子标签。该方法具有实施快速的优点, 适宜与静态数据一同运用及用于原型设计。 2),运用数据绑定: 运用Bindable元数据标签(属性非默许绑定,必需明确的声明被绑定的属性),将控件绑定到运用 ActionScript 定义的现有 Array 或 Collection。 3, 运用REPEATER: 是非可视控件,类似于编程言语里的For循环,可在执行期复制其它组件。的卷标要本

6、人输入,而dataProvider可在区段之中,以Bindable的Metadata定义之数组作连结。REPEATER还可嵌套运用。 4, 参与数据验证:数据模型支持自动数据验证,这就意味着他可以很方便地运用Flex验证器。as3.0验证的类包为mx.Validators.包中有一个基类Validator,其他的类都为其子类: 1),用标签实现验证: /绑定验证对象:source:表示验证的对象,property:表示验证对象的属性 2),用AS编程实现验证 还可以参与按钮触发器,并修正默许提示错误 /trigger:表示触发验证事件的对象/triggerEvent:表示对象触发验证事件的时机

7、(如click,mouseOver等)/requiredFieldError属性 表示必填项没填入数据的时的提示错误信息/wrongLengthError:表示输入的数据阿拉伯数字长度小于10时提示的错误信息/invalidCharError:表示输入数据不是阿拉伯数字时提示的错误信息 3),高级用法: 运用正那么表达式创建自定义验证器 5, 参与资源(图片,音频,视频,程序):运转时外载和编译时直接内嵌两种方式,外载方式要多花一段载入时间,但运用简单;内嵌方式可直接调用资源,但加重了程序的负担(体积变大,且图片编辑后需求重新编译) 1),Image(图画)控件: 可外载或内嵌多种富媒体资源:

8、 JPEG、GIF、PNG位图、SVG矢量图(只能内嵌) , SWF动画(非Flex的SWF运用程序。),SWF库按钮(Button),SWF库动画(MovieClip), /外载一个富媒体,可运用绝对或者相对途径。但参与SWF文件时,可用use-network参数指定其运用网络或者本地文件二者之一。/简单地内嵌一个富媒体.png,.jpg,.gif,.swf(可将嵌入的SWF文件的实例当作 MovieClip.MovieClipAsset 类的实例处置,不能直接访问嵌入的SWF文件的属性或方法。但可用 LocalConnection以允许SWF之间进展通讯。),.SVG(可将嵌入的SVG文件

9、的实例当作Sprite.SpriteAsset类的实例处置。)/在脚本中定义富媒体对象,然后在MXML中可以多次嵌入 /在脚本中定义图片的scale-9像框缩放功能就可以坚持边框的明晰,(旋转嵌入的scale-9 图像的实例会封锁该图像的scale-9功能。)。 /嵌入 SWF 库资源 2) 设置翻转的图片:运用 CSS为外观外载/内嵌翻转的图像 可以定义一个现有的CSS类型选择器为该类型的一切组件设置外观。还可以进一步创建自定义CSS 类。 Button upSkin: Embed(assets/box_closed.png); overSkin: Embed(assets/box.png)

10、; downSkin: Embed(assets/box_new.png); 3), SWFLoader控件: 通常用来参与Flex运用程序(可以运用AS与其通讯),当然也能用于参与Image控件所能参与的富媒体资源。 /外载入SWF程序/内嵌入SWF程序/还可以在FDS环境下参与MXML文件,要以buttonicon.mxml.swf方式参与,以提示FDS编译该文件。 4), 参与MP3音频: 您可以在 Flex 运用程序中经过运用Embed元数据标签嵌入MP3文件并播放它。留意音频文件的体积要优化。 5), 参与字体: 您希望在 Flex 运用程序中嵌入一种字体并将它用作基于文本的组件的款

11、式。 下面的例如创建援用嵌入的字体的 font-family 称号的一个类选择器。 接着它会创建一个 Text 控件并将其款式设置为该类选择器。 提示: 您在嵌入字体以节省文件大小时仅可以从字体添加某些字符, 方法是指定您的 font-face 声明的 unicode-range 属性。 font-face font-family: Copacetix; src: url(assets/copacetix.ttf); unicode-range: U+0020-U+0040, /* Punctuation, Numbers */ U+0041-U+005A, /* Upper-Case A-Z

12、 */ U+005B-U+0060, /* Punctuation and Symbols */ U+0061-U+007A, /* Lower-Case a-z */ U+007B-U+007E; /* Punctuation and Symbols */ .MyTextStyle font-family: Copacetix; font-size: 24pt; 三,数据绑定以MXML标志来描画UI,数据绑定(Data binding)来衔接数据,这样就真正实现了UI和程序逻辑的分别。Data binding可以一绑多或者多绑一。 1, 在MXML中运用大括号语句: 格式为:源对象.属性。可

13、直接传送给目的对象;高级用法是在中包含AS表达式、AS函数或者E4X表达式 2, 在MXML中运用标签:这是语句的替代用法,格式为:;高级用法是在标签中包含AS表达式或者E4X表达式 /在Model数据中运用语句来绑定数据 input1.text /用标签来绑定数据 3, 运用AS类来绑定:运用mx.binding.utils.BindingUtils的bindProperty()或者bindSetter() 方法 四,界面规划和导航容器定义了Flash Player的绘图外表的一个矩形区域。子容器包括控件和容器。Container 类是一切 Flex 容器类的根本类。扩展 Container

14、 类的容器添加它们本人的功能以进展子组件规划。Application 容器是的Flex运用程序的独一根部容器, 代表整个 Flash Player 绘图外表。 1,规划容器: 运用规划容器可进展用户界面规划。 A, 面板(Panel)容器 显示一个标题栏、一个标题、一个边框及其子级。默许情况下, Panel 容器会对子组件进展垂直规划, 并且可以经过将规划属性设置为 absolute 或 horizontal来覆盖此设置。 B, HDividedBox容器 对子组件进展程度规划, 除了在子级之间插入一个可调整的分割线之外, 它与 HBox 容器很类似。 VDividedBox 容器对子组件进展

15、垂直规划, 而且也在子级之间插入一个可调整的分割线。 C, 平铺(Tile)容器 以多行或多列的方式陈列其子级。 D, 表单(Form)容器 以规范的表单格式陈列其子级。 E, ApplicationControlBar 容器 包容提供全局导航和运用程序命令的组件, 并可以停靠在 Application 容器的上边缘。 F, ControlBar容器将控件置于 Panel 或 TitleWindow 容器的下边缘。 G, 另外可运用Spacer控件来辅助规划。Spacer控件并非容器,而是基于百分比的可用于挤占留空以准确定位的一个不可见控件。 2, 导航容器: 运用导航容器可以控制其他容器的多

16、个子级之间的用户挪动或导航。导航器容器不能直接嵌套控件,只能嵌套容器。 A,手风琴(Accordion)容器 定义一个子面板序列, 但一次仅显示一个面板。 假设要导航容器, 用户会单击与他们需求访问的子面板相对应的导航按钮。 运用 Accordion 容器, 用户可以按任何顺序访问子面板以在表单中前后挪动。 B, TabNavigator容器 创建和管理一组选项卡, 运用它们可在其子级中间导航。 TabNavigator 容器的子级是其他容器。 TabNavigator 容器为每个子级创建一个选项卡。 当用户选中某个选项卡时, TabNavigator 容器会显示相关联的子级。 C, View

17、Stack容器 由彼此堆叠在一同的子容器的一个集合组成, 一次只需一个容器是可见的或活动的。 ViewStack 容器不为用户定义切换当前活动容器的内置机制;您必需运用 LinkBar、TabBar、ButtonBar 或 ToggleButtonBar 控件或本人在 ActionScript 中构建逻辑让用户来更改当前活动的子级。 3, 运用容器Containers进展定位规划 定位方式有三种: A, 自动定位:多数Flex容器运用默许预定义的规那么动定位他在其中定义的一切的子组件。 B, 运用绝对定位: 用于使控件重叠 C, 运用基于约束的规划: 可以锚定容器的边缘或者中心点,然后控件就会

18、随着容器的伸缩而伸缩 Canvas容器,和layout属性为absolute的Application或Panel容器才干进展绝对定位,或约束规划。 4,运用视图形状(或ViewStack导航容器)进展用户界面切换导航 可以为一个Flex程序或组件定义几种视图形状,然后经过改动(切换)视图形状而改动用户界面。(ViewStack导航容器可实现同样效果) 1),设计根底形状(Base state,Start,currentState=):就是在默许形状下设计用户界面。 2),设计视图形状(currentState=SomeState):在设计方式中,在形状查看Window States上点击新形状

19、/New State 按钮。然后在此形状下编辑的界面即为该视图的对应界面。 3),创建用户行为切换控件: 定义用户变换形状的点击事件处置器。普通是运用一个LinkButtun,激活currentState=SomeState以切换到某界面,激活currentState=以回到默许界面。 五,运用CSS格式化组件1. 文字横竖陈列Aligning Text Vertically & Horizontally 款式对于定义Flex运用程序的外观和觉得 (外观) 很有用。您可以运用它们来更改单一组件的外观, 或在一切组件上运用它们。 在 Flex 中运用款式有许多方法。 某些款式提供更多粒度控制并能

20、以编程方式被执行。其他款式不像那么灵敏, 但能够需求较少的计算。在 Flex 中, 可以运用以下几种方法将款式运用到控件: 1, 运用本地款式定义 2, 运用外部款式表 3, 运用线上款式 4, 运用 setStyle() 方法 六,运用特效丰富用户体验1, 添加效果 1), 效果是在较短时间上发生的对组件的更改。 效果的例子有: 淡化组件、调整组件大小和挪动组件。 一种效果与一个触发器相结合才干构成一个行为, 如组件上的鼠标单击、组件获得焦点或组件变成可见的。 在 MXML 中, 您将效果运用为控件或容器的属性。 Adobe Flex 提供具有默许属性的一组内置效果。 作为对某些用户或编程操

21、作的呼应, 行为使您可以将动画、动作和声音添加到运用程序中。 例如, 您可运用行为在获得焦点时弹出对话框, 或是在用户输入无效的值时发出声音。 Flex 触发器属性是作为层叠款式表 (CSS) 款式被实施的。 在 Adobe Flex 2 言语参考中, 触发器被列出在标题“效果的下面。 假设要创建行为, 您定义一个具有独一 ID 的特定效果并将它绑定到触发器。 例如, 下面的代码创建两个缩放效果: 一个用于细微减少组件, 一个用于将组件复原至其原始大小。 这些效果经过运用它们的独一 ID 被分配到“按钮组件上的 mouseDownEffect 和 mouseUpEffect 触发器上。 留意如

22、何将 Panel 容器的 autoLayout 属性设置为 false。这样是为了阻止在按钮改动大小时面板改动大小。 2),运用效果方法和事件 您可以调用效果上的方法来改动它们播放的方式。 例如, 可以经过调用效果的 pause() 方法来暂停效果, 并经过运用其 resume() 方法来继续该效果。可以经过调用效果的 end() 方法来终了该效果。 当效果开场和效果终了时, 它也会发出 startEffect 和 endEffect 事件。 您可以监听这些事件并呼应您的事件形状中的更改。 下面的例如运用“挪动效果的方法和事件来创建一个简单的游戏。 该游戏的目的是使直升飞机尽能够接近靶而又不撞

23、到它。 靠得越近, 博得的点数越多。 3, 运用过渡添加用户界面切换效果 过渡(transition,变换)是定义在视图形状切换之间播放的一种或多种视觉效果。过渡不会交换效果;即, 您仍可以将单一效果运用到一个组件, 并经过运用一个效果触发器或者 playEffect()方法来调用该效果。创建过渡样例如下: /fromState 属性指定当运用该过渡时您要更改的视图形状/toState 属性指定您要更改为的视图形状/effect 属性是对要播放的 Effect 对象的援用/ 和 标签分别引发并行或按顺序播放的效果/效果标签4, 为用户提供工具提示 Adobe Flex ToolTip 使您可以

24、为您的用户提供有协助 的信息。当用户在图形组件上挪动鼠标指针时, 会弹出包含文本信息的工具提示。您可以运用工具提示来指点用户完成运用运用程序或自定义它们来提供其他功能。 扩展 UIComponent 类 (该类实现 IToolTipManagerClient 界面) 的每个可视 Flex 组件都支持 toolTip 属性。您将 toolTip 属性的值设置为一个文本字符串, 并且, 当鼠标指针悬停在该组件上时, 会显示该文本字符串。 虽然长音讯很难读取, 但对工具提示文本的大小不存在任何限制。当工具提示文本到达工具提示框的宽度时, 文本会自动换至下一行。可以在工具提示文本中添加换行符。在 Ac

25、tionScript 中, 您运用 n 本义的新行字符。在 MXML 标签中, 您运用 XML 实体。 可以经过运用层叠款式表 (CSS) 语法或 mx.styles.StyleManager 类更改工具提示文本和工具提示框的外观。对工具提示款式的更改适用于当前运用程序中的一切工具提示。 5, 控制光标 运用Flex光标管理器可以控制 Flex 运用程序中的光标图像。 例如, 假设运用程序执行的处置需求用户等待, 直四处置完成为止, 那么可以将光标更改为某个自定义的光标图像, 比如沙漏, 以使它反映该等待期。 您还可以更改光标以向用户提供反响, 指示用户可以执行的操作。 例如, 您可以运用一个

26、光标图像来指示用户输入被启用, 而运用另一个光标图像来指示输入被禁用。 CursorManager 类控制一个光标优先顺序列表, 在其中具有最高优先级的光标当前是可见的。 假设光标列表包含具有一样优先级的多个光标, 那么光标管理器会显示最近创建的光标。 1), 运用默许的忙光标 Flex 定义了一个默许的忙光标, 可用来指示运用程序正在处置, 且在运用程序对用户输入作出呼应之前, 用户应等待, 直四处置完成。 默许的忙光标是一个动画时钟。 可以运用以下几种方式来控制忙光标: 可以运用 CursorManager 方法来设置和删除忙光标。 可以运用 SWFLoader、WebService、Ht

27、tpService 和 RemoteObject 类的 showBusyCursor 属性自动显示忙光标。 下面的例如运用 CursorManager 类的静态 setBusyCursor() 和 removeBusyCursor() 方法, 根据切换按钮的形状显示和隐藏默许的 Flex 忙光标。 2), 运用自定义光标 可以运用 JPEG、GIF、PNG 或 SVG 图像, Sprite 对象或 SWF 文件作为光标图像。 假设要运用光标管理器, 您将 mx.managers.CursorManager 类导入到运用程序中, 然后援用其属性和方法。 下面的例如嵌入一个在 Adobe Flas

28、h 中创建的沙漏的 SWF 动画, 并将它用作一个自定义光标。 在该例如中, 创建自定义光标的方法是, 调用 CursorManager 类的 setCursor() 静态方法, 然后将它传送给对您希望用作自定义光标的嵌入资源的类的援用。 可以经过调用 CursorManager 类的 removeCursor() 静态方法并将它传送给 CursorManager 类的 currentCursorID 静态属性来删除活动的自定义光标。 七,运用ActionScript处置事件1, 事件模型与机制 Flex的事件模型基于DOM3事件模型。经过创建注册事件监听器(事件处置程序,事件处置器,是函数方

29、法用于呼应指定的事件),可以在组件的实例发出某个事件(如用户何时与界面组件交互, 以及在组件的外观或生命周期中何时发生重要的变化, 如组件的创建或破坏或调整其大小等)时, 对象事件自动派发此事件到一切注册过的监听器。 1),事件流:当一个事件被派发出来时, 事件对象从根节点开场自上而下开场扫描display list(如), 不断到目的对象, 检查每个节点能否有相应的监听器。目的对象指的是display list中产惹事件的对象. 比如:。假设此时 resize了VBox, 那么会从根(Application)开场, 下来检查Panel, HBox, 直到目的对象-产生resize事件的VBo

30、x为止. 2), 事件的派发 Flex中可以经过dispatchEvent()方法手工派发事件, 一切UIComponent的子类都可以调用此方法. 语法: /参数event_type是Event对象的type属性/函数的前往值总是True.objectInstance.dispatchEvent(new Event(event_type):Boolean可以运用此方法派发恣意事件, 而不仅仅是用户自定义事件, 比如: 可以派发一个Button的Click事件. var result:Boolean = buttonInstance.dispatchEvent(new Event(MouseE

31、vent.CLICK); 在Flex运用中不是必需对新派发的事件进展处置, 假设触发了一个事件, 而没有对应的Listener时,Flex忽略此事件. 假设想给Event对象添加新属性, 就必需承继Event类,然后定义新属性 3), 事件的传播 事件触发后, Flex有3个检测事件监听器的阶段, 3个阶段的发生的顺序如下: A. 捕获阶段:在捕获阶段,Flex在显示列表中检查事件的祖先能否注册了事件的监听器. Flex从根节点开场顺序而下. 大多数情况中, 根节点是Application对象. 同时, Flex改动事件的currentTarget值. 缺省情况下, 在此阶段,没有容器监听事件

32、. use_capture参数的值是False,在此阶段添加监听的独一方法是在调用add_listener时,传入一个为True值的use_capture参数, 比如: myAccordion.addEventListener(MouseEvent.MOUSE_DOWN, customLogEvent, true);假设是在Mxml中添加监听, Flex设置此参数为False, 没有方法进展修正. 假设设置了use_capture为True, 那么事件将不会上浮. 假设既想捕获又想上浮就必需调用 addEventListener两次. 一次use_capture参数为true, 一次为fals

33、e; 捕获很少运用, 上浮的运用更为普遍. B. 目的阶段: 在目的阶段, Flex激发事件的监听程序, 不检查其他的节点. C. 上浮阶段:事件只在bubbles属性为True时才进展上浮. 可以上浮的事件包括: change, click, doubleClick, keyDown, keyUp, mouseDown, mouseUp. 在上浮阶段, Flex改动事件的currentTarget属性, 而target属性是初始派发事件的对象. 在恣意一个阶段, 节点们都有时机操作事件. 比如: 用户点击了一个在VBox中的Button,在捕获阶段, Flex检查Application对象(

34、根节点)和VBox能否有监听器处置此事件. Flex然后在目的阶段触发按钮的监听器.在上浮阶段, VBox和运用以与捕获阶段相反的顺序再次获得时机处置事件. 在Actionscript3.0中,他可以在恣意目的节点上注册事件监听器. 但是部分事件会被直接传给目的节点,比如Socket类. 捕获阶段的节点顺序是从父节点到子节点的, 而上浮阶段刚好相反. 捕获事件缺省是封锁的,也就是说假设要捕获事件, 必需显式指定在捕获阶段进展处置. 每一个Event都有target和currentTarget属性, 协助 跟踪事件传播的过程. 4), 查询事件阶段 运用事件的eventPhase可以获得事件当前

35、的阶段, 1): CAPTURE_PHASE 2): AT_TARGET 3): BUBBLING_PHASE 例如: private function determineState(event:MouseEvent):Void Debug.trace(event.eventPhase + : + event.currentTarget.id); 5), 停顿传播 运用下面两个函数停顿事件的传播: stopPropagation() stopImmediatePropagation() 2, 创建监听器 组件有Flex提供的内建事件. 也可以运用派发-监听模型定义本人的事件监听器, 并指定监听

36、器监听何种事件. 有三种方式: 1), 内部MXML中的AS函数法: 在MXML的声明中注册监听器: 这是第一个和运用最广泛的方法,在 MXML 中定义事件发生时会调用的事件处置程序。 2), 外部AS文件中的AS函数法:经过ActionScript定义注册事件处置程序: 可以经过运用ActionScript 中的 addEventHandler() 等方法来注册事件处置程序。 可将 addEventHandler() 方法置于 Application 容器的 creationComplete 事件(在 Application 表单及其子级被初始化之后, 在启动运用程序时发生)的事件处置程序中

37、。 详见Action Script教程。 3), 代码混写法: 在MXML的控件标签中直接完全嵌入监听器(这也称为运用线上事件处置程序): 这样比较直接,代码也较少,但会导致代码很难阅读、维护和缩放。假设监听器是多个AS语句甚至更复杂的逻辑,不引荐此方法。 六,数据效力器访问概述Flex 被设计为可以与许多类型的效力器打交道,从而提供对本地和远端逻辑的访问。提供数据访问的MXML 组件被称之为数据效力器组件(data service components)。MXML 包含了如下几种类型的数据效力器组件: 1. HTTPService 提供对前往数据的HTTP URLs 的访问。经过 get/p

38、ost 来传送纯文字资料。益处是非常普及于一切的后台,但缺陷那么是复杂的数据类型要经过复杂的序列化与解序列化程序才干在client/server间交换。 2. WebService 提供对运用SOAP 的web 效力器的访问。WebService 也是很常见的选择,益处是规那么共通,方便不同技术平台交换资料,缺陷那么同样是某些复杂数据构造无法随便的交换,在编码与译码的过程中往往会出现不测,例如 Date 的表现方式。以 .NET 来说,运用 web service 应该是再方便不过的选择,只需把 asmx 档案预备好再从 flex client 呼叫即可。 3. RemoteObject(Fl

39、ash Remoting) 技术:官方支持的平台有三种,分别是 Java Coldfusion(但实践上Coldfusion应该只算是java的subset,它是一种 scripting tag library)与.NET。Flex Data Services 或Macromedia ColdFusion MX 7.0.2经过运用AMF协议提供对Java 对象Java Beans、EJBs、POJOs的访问。 4,其它非官方RemoteObject技术: 由于AMF格式已被非官方反编译,所以有许多开源的remoting替代方案: A,AMFPHP: 这是php版的remoting B,OPEN

40、AMF: java版的remoting C,Flap: Perl 与Python版的remoting S,FlashORB: 商业版的remoting替代方案,目前支持java与.net 七,HTTPService运用plaine text format的传输方式,经过xml, loadVars, loadVariables 等方式 外部XML讀取 Actionscript 3.0 的賣點之一,就是加強XML讀取的方便性,讀取外部XML是常用的前後端整合手段,而XML節點的操作,比之前AS2用DOM更直觀,可以直接運用標籤與屬性名稱訪問節點。 主要參考章節: Reading external

41、XML documents Traversing XML structures Lesson 6: RETRIEVING XML DATA (37 min) 1. Setting Up an XML Data Project & Setting Service 2. Setting Up a DataGrid to Display XML Data 3. Adding a Label Control to a DataGrid 4. Using an ArrayCollection 5. Examining a Data Structure in Debugging Mode 6. Utili

42、zing Data Returned in an Event Object 7. Using the Service Class to Catch Faults 8. Creating a Cross Domain Security File Lesson 13: MANIPULATING XML (34 min) 1. Manipulating Client Side Data Using E4X Syntax 2. Creating a Tree Control to Display the XML Data 3. Adding a Change Event to Display Data

43、 from the Tree 4. Populating the Shopping Cart with Raw XML Content 5. Working with an XML List Collection 6. Using Conditional Logic to Compare & Update Values 八,WebServiceLesson 14: USING WEB SERVICES (25 min) 1. Accessing Web Services 2. Invoking Web Services Methods & Results 3. Using a FaultHan

44、dler 4. Call Multiple Methods from One Web Service Object 5. Passing Parameters to Web Services 九,Flex Data ServicesFDS (Data Service, Messaging) Flex Data Service 是 Flex 2 里新出现的技术,主要目地是希望提供更自动的方法来让 client 与 server 交换资料,它的中心实践上依然是 AMF 与 RTMP (对,就是 Flash Media Server 用的那种),部份功能也与 FMS 重叠,但它着重在 Data Sh

45、aring 与 Exchange 这部份。 目前 FDS 只需 Java 的版本,也就是 server 端要用 java 写,但 Adobe 声称未来会有 FDS for .NET 版。不过好音讯是,有一家叫 theMidnightCoders 的公司抢先推出了 FDS 兼容版本,不但同时支持 AMF0 与 AMF3,更支持部份 FDS 的功能(主要是资料同步的部份,与server端的冲突处置与资料储存)。 以 .NET 来说,付费的选择中 weborb 算是目前最优的选择,价钱只需官方版的一半,但功能更完好;而免钱的选择那么当非 Fluorine 莫属。 功能描画:假设他有Flex Data

46、 services,他可以发布一组MXML和AS文件,Flex Data Services可以在收到Http恳求前,把他的MXML和AS文件编译成Swf文件。 Flex执行以下步骤: 1 编译MXML并产生一个SWF文件 2 贮藏已编译的MXML文件 3 向安户端前往SWF文件 发布他的程序方法一:发布一个SWF文件 访问方法:hostname/path/filename.swf 方法二:发布MXML和AS文件 访问方法:hostname/path/filename.mxml FDS在他的Java效力器上或者Java容器内运转。以保证在以下几个特征领域的广泛性 1多个客户端的数据共享 1 支持

47、C2C的数据通讯 2 效力器端数据添加 3 安户端访问效力器资源的证明 4 数据效力日志 2提高RPC的广泛性 十,其它RemoteObject技术现有许多非官方的开源RemoteObject(Flash Remoting)技术,流行的效力端Java、Php、.Net、Perl/Python、Ruby技术Flex都已打通,您可以直接在Flex/Flash中经过RemoteObject直接调用 A,AMFPHP: Flash和PHP的整合 AMFPHP B,AMF.NET: Flex调用不同参数类型的.Net WebMethod C,AMF:Perl D,RubyAmf E,与JAVA: F,和

48、ASP的整合:Flash2ASP是能自动生成ASP和AS代码的工具。虽然Flash2ASP作后台速度不如AMFphp,但由于国内ASP资源丰富,而且Flash2ASP教程文档详细,也可作为一个选择。 在线版 阐明图 55分钟详细运用方法以及留言簿范例视频教程 本地运转版下载(exe) 详细情况 十一, 创建自定义组件1, Flex是由as类构造实现的。类构造包含了组件类,管理类,数据效力类,和其他用来实现flex功能的类。以下图展现的是类构造中flex可视化组件的一部分,关于控制和容器的部分: 一切的可视化组件承继自UIComponent as类。Flex中非可视化组件也是依托as类构造来实现的。大部分的非可视化组件都是Validator,Formatter,或者是Effect 类。 经过运用mxml和as言语扩展Flex类构造来创建自定义的组件。组件都承继了父类的属性,方法,行为,风格和效果。 经过as创建一个flex组件时,必需承继自一个flex类。类的称号必需和类文件的称号一样。子类承继了父类的一切属性的和方法。在mxml中运用这个组件时,经过运用类称号的标签来援用。例如,类称号是myASButton,文件名那么为myASButton.as,在mxml中运用标签来运用组件。 在经过mxml创建

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论