`
wanguangru
  • 浏览: 19429 次
  • 性别: Icon_minigender_2
  • 来自: 苏州
最近访客 更多访客>>
社区版块
存档分类
最新评论

Flex编程学习基础

 
阅读更多

  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对象,当调用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)和后台通信方式:
  RemoteObject id="..." destination="..."/>
  通过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中使用。
分享到:
评论

相关推荐

    Flex基础知识编程练习

    主要针对刚开始学习Flex的朋友,这些也是在教学过程中,学生会经常提出一些基本问题。 如果您已经很熟练地掌握了Flex的开发方法的话,就没有必要看了。

    FLEX从入门到精通.pdf

     5.1.2 学习Flex和获取帮助  5.2 FlexBuilder3工作台  5.2.1 工作区  5.2.2 创建和交换工作区  5.2.3 工作区配置  5.2.4 编辑器  5.2.5 视图  5.2.6 透视图  5.2.7 创建自定义透视图  5.3 Flex...

    《Flex第一步》书中源代码2

    学习路线中必读的书:《Flex中文帮助》->《ActionScript 3.0编程》->《Flex 2 Developer’s Guide》,这基本上就是目前最快的学习路线了。前两本书读完大约需要两周时间,最后一本书可以在开发过程中一边做开发一边...

    ActionScript 3.0 API文档及Flex开发详解电子书

    涉及了Flex基础概念、组件设计开发、图表开发、企业级应用以及AIR桌面应用等方面。 本书最大的特点是使用大量小巧的示例帮助读者快速体验Flex开发流程。并在最后两大部分中结合完整的项目开发案例,给读者以...

    ActionScript3.0 编程

    学习FLEX的基础书籍 学习FLEX的基础书籍 学习FLEX的基础书籍

    计算机精品学习资料大放送

    Perl/CGI脚本语言编程学习资源下载地址大全 Python语言编程学习资料(电子书+视频教程)下载汇总 最新最全Ruby、Ruby on Rails精品电子书等学习资料下载 数据库管理系统(DBMS)精品学习资源汇总:MySQL篇 | SQL ...

    《AS3编程精髓》中文版.pdf

    AS3的编程精髓,东西讲的很基础,对AS3基础学习很有帮助,需要的可以下载

    flex3的cookbook书籍完整版dpf(包含目录)

    第一章.Flex与ActionScript基础(3) 1.1节.用FlexBuilder创建Flex项目 1.2节.用FlexBuilder创建Flex库项目 1.3节.创建ActionScript项目 1.4节.在FlexBuilder中设置MXML编译器选项 1.5节.在FlexBuilder外部编译Flex...

    ActionScript开发技术大全

    当然,《ActionScript 3.0开发技术大全》更加适合广大从事Web编程和Flash、Flex、AIR应用程序开发的专业程序员。讲解由浅入深,循序渐进,读者即使没有任何基础,也可轻松入门。 避免大段的理论讲解,每个技术点都配...

    Flash ActionScript 3.0学习指南

    ActionScript 3.0是一种嵌入在Flash Player中的编程语言。本书详细而全面的介绍了...本书适合广大Flash和Flex开发人员、Web应用开发人员和大专院校学生阅读,尤其是具有一定计算机语言编程和设计经验的开发技术人员。

    计算机学习WEB2020,全套

    05 flex伸缩布局 06 移动web开发 07 javascript基础语法 08 web api编程 09 jquery编程 10 Javascript高级 ES6 11 前后端交互node+gulp 12 前后端交互 MongoDB+express 13项目实战 博客项目 14 前后端交互 ajax 15 ...

    Flash ActionScript 3殿堂之路

    《Flash ActionScript3殿堂之路》适合有基础编程知识(不限语言)的Flash、Flex、AIR爱好者和开发人员,尤其适合ActionScript 2读者。本书还可为Java、C#等其他OOP语言爱好者学习ActionScript 3提供横向比较和导读。

    Flex_4:开发RIA_应用程序.pdf

    了解Flex 4 基础知识 了解Adobe Flex 命名空间 ............................................................................................................................. 32 了解命名空间如何转换为...

    《21天精通微信小程序开发》

    这是一本从零学习微信小程序开发的专业书,不需要额外的专业基础就能让你读懂这本书。对于初学者,本书可以作为一本系统的学习教程来使用;对于有经验的前端开发者,本书可以作为微信小程序开发的参考书来阅读。

    最全的vhdl培训教材及参考例程(超多教程和源码)

    VHDL编程基础.ppt Vhdl黄金宝典(英文版).pdf VHDL教程.PPT VHDL经典教程.pdf VHDL数字控制系统设计范例(经典).rar VHDL学习(哈工大ppt).pdf VHDL硬件描述语言.ppt VHDL-硬件描述语言.ppt VHDL硬件描述语言基础...

    C语言半自动词法分析器和半自动语法分析器.zip

    通过实现半自动词法分析和语法分析器,开发者可以深入理解编译器的工作原理,提高C编程技能,并为进一步学习编译原理和编程语言理论打下基础。此外,这个项目对于希望进入编译器设计、程序分析和代码生成等领域的人...

    SEM模型matlab代码-BMSTU::graduation_cap:BMSTUICS-9BS/MS计算机科学课程,MSTUim。鲍曼,IU9

    函数式编程基础(Scheme、Haskell) 计算机体系结构 (C) 2 秒 低级编程(Descus C、PDP-11、机器码) 离散数学(Golang) 3 秒 低级编程(PDP-11、gas、英特尔汇编) 计算机网络(Golang) 面向对象编程(C++、Java...

    ActionScript3.0殿堂之路

    《Flash ActionScript3殿堂之路》适合有基础编程知识(不限语言)的Flash、Flex、AIR爱好者和开发人员,尤其适合ActionScript 2读者。本书还可为Java、C#等其他OOP语言爱好者学习ActionScript 3提供横向比较和导读

    超全VHDL教程资料打包

    《VHDL实用教程》(潘 松 王国栋 编著).zip (4.6 MB) ASIC VHDL Basic.pdf (6.38... VHDL编程基础.ppt (2.26 MB) VHDL培训教程.PPT (670 KB) VHDL与数字电路设计.ppt (3.22 MB) VHDL语言详解.pdf (1.2 MB)

Global site tag (gtag.js) - Google Analytics