- 浏览: 42592 次
最新评论
Flex是Adobe公司推出的一项RIA(Rich Internet Application富互联网应用程序)开发技术,和Ajax一样都是Web2.0非常流行的前台开发技术,Flex比Ajax的优势是所有的浏览器的效果都一样,做出来的效果更炫,通常用于许多基于Web游戏开发。其缺点是浏览器必须安装Flash插件,因为Flex编译过后会生成Flash格式的文件在浏览器中运行,同时由于Flex生成的文件一般比较大,如果优化的不好,会影响应用速度。
我在上一家公司中,因为项目需要,我曾经学习和使用了半年时间的Flex和Flash技术,虽然到目前为止我还是这方面的菜鸟,只能算是了解了一些入门级的基础知识,总结一下所学的基本知识和有兴趣的读者共同分享,以Flex3.0为准。
1.Flex和Flash的区别:Flex侧重业务逻辑处理,主要面向应用程序开发中,Flash侧重宣传和展示,主要面向多媒体设计者。
2.Flex程序的两个组成部件:
A.".MXML"文件:用于描述界面元素的文件。
B. ActionScript:用于对页面元素进行操作和事件响应处理。Flex和Flash都使用ActionScript脚本编程语言。
3.Flex页面元素的Bindable属性:标识元素或变量是可动态绑定的,可以实时反映状态变化。绑定就是从一个组件分配数据到另一个组件的过程,Flex绑定有一个内置的广播/监听方法,它会自动监听被绑定数据的改变并且立即更改到任何一个绑定它的地方。
使用例子:
[Bindable]
属性变量
4.DataProvider属性:常常和Bindable属性一起使用,用于指定绑定数据的来源。
5.Flex和后台通信方式:
HTTPService(Servlet)方式、WebService方式、RPC(RMI)方式。
6.Flex的HTTPService和后台通信方式:
HTTPService id="..." url="..."/>
标签代表HTTPService对象,当调用HTTPService对象的send()方法时,将发出对指定url的HTTP请求,并且返回HTTP响应。可以选择向指定的url传递参数,如果没有使用基于服务器的代理服务,则只能使用HTTP GET或POST方法。如果将useProxy属性设置为true并且使用基于服务器的代理服务时,则还可以使用HTTP HEAD、OPTIONS、TRACE和DELETE方法。
具体使用方法:在Flex框架下使用HTTPService组件使用GET或者POST请求来获取数据时:
(1).创建一个HTTPService对象,给这个对象定义一个名字并分配一个url以便获取数据,url可以是相对路径,也可以是绝对路径。
(2).使用HTTPService对象的send()方法发送请求。
(3).使用HTTPService对象的Result事件来指定数据成功返回后的回调函数。
7.Flex的WebService和后台通信方式:
WebService主要是为了使原来各孤立的站点之间信息能够相互通信、共享而提出的一种接口。
补充说明一下WSDL,使不了解WebService的人有所了解:
WSDL(Web Service Description Language):是一种使用XML编写的文档,这种文档可描述某个Web服务,它规定服务的位置,以及此服务提供的操作。
WSDL元素:
:Web Service执行的操作 :WebService使用的消息
:Web Service使用的数据类型 :WebService使用的通信协议
WSDL编写4个步骤:
(1)定义服务接口。 (2)指定参数(消息)。
(3)消息传递和传输(绑定)。 (4)创建WSDL文件的概要。
更多的关于WebService和WSDL的相关内容,请到网络上查阅相关资料。
8.Flex的RPC(RMI)和后台通信方式:
通过RPC(RMI)方式可以访问使用Action Message Format(AMF)协议编码的java对象的方法。AMF使用二进制编码,因此比WebService方式效率更高。
9.Flex的自定义组件
每个Flex工程中只有一个主的MXML文件,它是整个工程的应用程序入口。其起始标记是标签,该标签包含程序中的所有其他组件。其他的其起始标记不是标签MXML文件都是页面元素或者组件,自定义组件可以无缝集成到Flex程序中,和Flex内置的组件一样。
自定义组件的开发:
(1).每个自定义的Flex组件是一个单独的MXML文件,但是不能使用标签。
(2).要为自定义组件指定命名空间,在MXML文件的XML文档说明中添加,例如:
xmlns:comp="自定义组件所在的目录,如若要自定component目录下的所有组件,可以写为:component.*",就指定了自定义组件的命名空间为comp。
(3).使用自定义组件:
使用自定义组件的命名空间来引用,如:.
10.ActionScript集成进MXML两种方式:
A.直接嵌入标签中,两种情况
(1)在绑定时。(2)在事件处理时。
B.写在MXML的标签的CDATA区中:
基本框架为:
脚本通常放在文件开始部分,在Application标签下面。
11.Flex中所有的容器都是继承自UIComponent类,UIComponent继承Container类。
4种常见的布局容器:应用,面板,HBox/VBox,画布。
组件布局过程:
(1).从通过计算嵌套在组件最内层的组件来计算它的尺寸,然后向外扩张来计算其他组件的尺寸。
(2).从最外层组件开始,向最内层的组件来布局。
12.Flex事件基础:
Flex每次发生事件时,一个专门的事件对象就产生了,每个事件都是一个Flex框架的Event类或者Event子类的实例。 事件的一些属性:
type:事件的类型,如:click。
target:一个关于广播事件对象组件实例。
所有事件封装在两个包中:flex.event和flash.events(这些包不需要导入,使用严格匹配的子类可以加快编译速度)。
13.两种在组件运行前启动的系统事件:
(1)initialize:组件创建前执行。
(2)creationComplete:组件创建布局结束后执行。
14.组件注册事件监听器方法:
组件名.addEventListener(事件类型,监听器名(方法名,注意方法名后不带"()",因为不是调用))。
15.Flex创建自定义事件方法:
(1).方法1:
[Event(name="自定义事件名称",type="flash.events.Event")]
type也可以是自定义事件的全路径名称。
(2).方法2:
在actionScript脚本代码中创建并分发事件。
var 自定义事件对象 : Event = new Event("自定义事件名");
dispatchEvent(自定义事件对象);
16.自定义事件创建5个步骤:
(1).使用事件的meta标签或者使用actionScript脚本代码定义事件名称和类型。
(2).实例化事件。
(3).分派事件给父组件,然后在事件处理程序中处理它。
(4).创建事件处理器。
(5).使用事件对象中的信息。
注意:自定义事件类必须覆盖clone()方法。
17.Flex事件处理:
目标对象:分发事件的对象。
当前目标对象:当前监听器检查被分发事件的对象。
Flex事件处理机制很灵活,可以在事件分发的目标对象上处理,也可以在其父对象容器中处理,有时在父对象上处理事件比在分发器对象本身更方便。
18.Flex事件传播3个阶段:
(1).捕获(Capturing):从最外层的祖先开始向子孙检查都已经注册。
(2).目标(Targeting):检查目标对象的监听器。
(3).上浮(Bubbling):在目标对象检查完成事件监听器后,应用程序将检查这个阶段所有父对象,祖先对象注册的监听器。
捕获和上浮是两个相反的过程。
19.Flex中使用事件监听器的简单用法:
//声明事件监听器对象
var zc:Object = new Object();
//定义监听事件
zc.onMouseMove=function(){
tarce(_xMouse)
}
//注册事件监听器
Mouse.addLisener(zc);
20.SWC介绍:
SWC是Flex组件的打包文件,SWC文件包含一个SWF文件和一个catalog.xml文件,如同java中的jar文件一样,SWC通常是常用的flex组件的打包,在Flex工程中可以直接导入使用。
21.Flex使用Flash中影片剪辑:
Flex的架构:
UIComponent>FlexSprite>Sprite>DisplayObjectContainer>I nteractiveObject>DisplayObject
Flash的架构:
Sprite>DisplayObjectContainer>InteractiveObject>Displ ayObject
两者的架构有较大区别,因此Flash的影片剪辑不能在flax中直接使用,通常需要使用lex Component Kit插件将flash的影片剪辑编译为SWC在Flex中使用。
发表评论
-
“千年传承,再续辉煌”--广东阳江漠阳剑派
2014-10-31 00:33 1重剑无锋,大音希声,周星驰说折凳是最好的武器,我说看似嘻 ... -
数组、字符串
2012-07-06 09:51 7971 一维数组 数 ... -
java中正则表达式运用实例(用String类的matches方法演示)
2012-07-06 09:44 1779java中正则表达式运用实例(参看java中正则表达式运用 ... -
java 正则表达式
2012-07-06 09:37 742[b]Java [/b][b]正则表达式 [/b]在计算机 ... -
Flash CS5 用户自定义Button组件
2012-07-06 09:29 13302010/12/24 Flash CS5 用户自定义But ... -
自己写的自动完成js插件源码
2012-07-05 20:44 632经测试,此插件兼容ie,chrome,firefox。 / ... -
005_《Delphi6组件大全》
2012-07-03 13:42 1018Delphi 教程系列书籍 (005) 《Delphi6组 ... -
005_《Delphi6组件大全》
2012-07-03 12:16 602Delphi 教程系列书籍 (005) 《Delphi6组 ... -
关于flexigrid一点用法
2012-07-02 10:12 836闲来无事在网上找了一个jquery的grid插件 flex ... -
jsp页面
2012-07-02 10:12 716做人,生活,学习,玩.... ... -
Mate-基于标签的框架
2012-07-02 10:12 808Mate 将会成为Flex领域的另一个热点。它使用设置(c ... -
Flex中要想使图表的横坐标轴标签成45度显示(2)
2012-07-02 10:11 845从外部引入样式 1.在外部src/assets目录文 ... -
Flex获取操作XML示例
2012-07-01 09:32 702/****** ".",&qu ... -
The architecture of Flex and Java applications two (Flex 和 Java 应用程序架构 2)
2012-07-01 09:31 957Flex and Java application ... -
使用HTTPService读取远程XML文件为TREE赋值的例子
2012-07-01 09:31 728在FLEX4中 使用一个HTTPService 读取远程的 ... -
flex 通过HTTPService与php通信
2012-07-01 09:31 802最近研究HTTPService与php通信,去网上查了好多 ... -
解决Flex4 发布后访问 初始化极其缓慢的问题
2012-06-30 11:16 1391解决Flex4 发布后访问 初始化极其缓慢的问题 2011年 ... -
flex builder 3, flex builder 4下载与安装
2012-06-30 11:16 950flex builder 3, flex builder 4 ... -
Flex4之使用ActionScript构建组件
2012-06-30 11:16 580Flex4之使用ActionScript构 ... -
flex 开源项目组件大全
2012-06-30 11:16 1125flex 开源项目组件大全 2010年09月13日 Fl ...
相关推荐
2. **流程控制语句**:在Flex编程中,流程控制语句用于决定程序的执行顺序。这包括条件语句(如if-else和switch)、循环语句(如for、while和do-while)以及跳转语句(如break和continue)。这些语句使开发者能根据...
Flex编程指南可能详细阐述了Flex开发过程中的核心概念和技术,如ActionScript 3.0语法、MXML组件模型、数据服务集成、移动应用开发等方面,帮助开发者掌握Flex编程的基础和高级技巧。 4. **client_server_...
1. **Flex基础**:Flex提供了MXML和ActionScript两种编程方式。MXML是一种声明式语言,用于定义界面布局和组件,而ActionScript则是面向对象的脚本语言,用于处理程序逻辑和交互。学习Flex首先要了解这两种语言的...
综上所述,"Flex3学习指南1-8"这个压缩包文件包含了Flex 3从基础到深入的多个章节,覆盖了Flex开发的各个方面,对于想要进入Flex开发领域的初学者来说,是一份非常宝贵的参考资料。通过深入学习和实践,读者可以逐步...
学习文档通常包含了Flex4的基础知识,如MXML和ActionScript3语法、组件使用、数据绑定、事件处理、样式和皮肤等。这些文档可以帮助初学者快速上手,理解Flex4的开发流程。同时,它们也覆盖了高级主题,如自定义组件...
《FLEXA学习手册》是一份针对FLEXA编程的教程资料,它详细地为读者介绍了如何使用FLEXA软件进行编程和操作。FLEXA编程语言主要应用于SMT(表面贴装技术)的生产线上,为工程师和操作人员提供了一套程序化的解决方案...
这意味着开发出的Flex应用可以在Windows、Mac以及Linux等操作系统上无需修改即可运行,这得益于FlashPlayer广泛的安装基础,几乎覆盖了全球98%的计算机。此外,由于Flex应用运行在FlashPlayer之上,不同客户环境中的...
总之,"Flex 3.0学习指南"涵盖了从基础知识到高级特性的全方位学习路径,无论你是初学者还是有经验的开发者,都能从中受益匪浅。通过深入学习和实践,你将能够创建出功能强大、交互性强的富互联网应用程序。
Flex编程是一种基于Adobe Flash平台的开发技术,用于创建富互联网应用程序(Rich Internet Applications,简称RIA)。...记得在学习过程中,不断动手实践,结合文档中的实例加深理解,这样能更快地成为Flex编程的专家。
本学习资料集全面覆盖了Flex4的基础与进阶知识,是学习Flex4开发的理想资源。 1. **基础概念** - **ActionScript 3.0**:Flex4的核心编程语言,具有面向对象的特性,性能比Flex3中的ActionScript 2.0显著提升。 -...
理解事件模型和事件处理是掌握Flex编程的关键。 6. **Services和Remoting**:Flex支持与服务器端的数据交换,通过AMF(Action Message Format)实现高效的数据传输。 BlazeDS或LCDS是常用的Flex服务端技术,用于...
同时,ActionScript 3.0是Flex程序的基础,学习资料可能会深入讲解AS3的面向对象编程、类库使用以及事件处理机制。 3. **Spark组件架构**:Flex 4引入了Spark组件集,与先前的 Halo 组件相比,提供了更好的性能和更...
开发者可以通过阅读和运行这些代码,加深对Flex编程的理解,同时也可以将这些代码作为项目开发的起点,快速实现特定功能。 总之,这些资源对于想要深入学习Flex开发的人来说是非常宝贵的。通过研究这些源码,开发者...
以下是关于Flex的基础学习资料的相关知识点: 1. **Flex基础概念**:Flex是一种开源框架,主要用于构建基于Flash Player或Adobe AIR运行时的交互式、动态Web应用。它包含Flex SDK,提供了编译Flex应用所需的组件、...
通过学习这些资料,你可以从零开始逐步掌握FLEX开发,从搭建开发环境、编写基础代码,到设计复杂的用户界面和实现数据交互,最终成为一个熟练的Flex开发者。在学习过程中,不断实践和理解Flex的组件模型、数据绑定...
《Flex设计师基础》是一本专为想要掌握Adobe Flex技术的设计师量身打造的学习材料,它以高清晰的PDF格式提供,使得阅读体验更加舒适。Flex是Adobe开发的一个开放源码框架,主要用于构建富互联网应用程序(RIA),...
这本书旨在帮助读者从零开始,逐步建立起Flex编程的基础。 在RIA(Rich Internet Applications)领域,Flex以其独特的MXML和ActionScript语言,提供了高效创建动态用户界面的能力。MXML是一种声明式语言,用于定义...
这份Flex3学习指南,通过深入讲解这些主题,将帮助初学者全面掌握Flex 3开发技术,为构建专业级的RIA奠定坚实基础。在学习过程中,结合实际项目实践和不断探索,将能更好地理解和运用这些知识。