FLEX

FLEX
2009年12月04日
  [b]注意:本资料自供参考[/b]
  [b] [/b]
  [b] [/b]
  [b]第一章 [/b][b]Flex[/b][b] [/b][b]是如何工作的[/b]
  该部分文档的内容是为用户提供关于Adobe®Flex 工作机制的一个快速综述。通过本章
  节的学习,你可以创建你的第一个Flex 应用程序,并将它与你以前所熟悉的Web 开发技术
  进行比较,以领会Flex 的内涵和精髓。
  [b]第一节 [/b][b]构建并运行[/b][b]Flex [/b][b]应用程序[/b]
  Flex 是一个提供开发设计和运行支持的架构,它可以使开发人员创建利用Adobe®
  Flash® Player 9 作为前台的“富客户端互联网应用程序/rich Internet applications/RIA”,以满
  足用户更为直观和极具交互性的在线体验。
  [b]开发 [/b][b]Flex [/b][b]应用程序的典型步骤如下(通常是这样):[/b]
  1. 选取一系列预先定制好的、用于设计应用程序界面的组件(如表格、按钮等等)
  2. 布置组件以设计用户界面。
  3. 使用样式和主题来增强视觉方面的设计。
  4. 添加动态行为(例如程序部件之间的相互作用)。
  5. 定义并连接所需的数据库服务。
  6. 将源代码编译成SWF 文件,然后在Flash Player 中运行。
  [b]一个典型的 [/b][b]Flex [/b][b]应用程序包括如下元素:[/b]
  1. Flex framework
  Adobe® Flex 2 framework 包含了创建RIA 所需要的所有组件,它们是:用于应用程序
  布局规划的容器;针对用户界面和从用户处获取数据的控制(例如文本框和按钮);广泛支
  持的数据绑定、数据格式化、以及有效值验证;事件驱动的开发模式。Flex framework 被包
  含在公用组件库(SWC)文件中。
  2. MXML
  每个 Flex 应用程序至少包含有一个MXML 文件,它被作为该程序的主文件。MXML
  是一种标记语言,它是基于XML 的一种实现,用来创建Flex 应用程序。你可以使用它去声
  明程序中所使用的标签结构的定义。
  3. ActionScript 3.0
  你可以使用ActionScript 3.0 为应用程序添加动态行为,它是基于ECMAScript 的一种实
  现,类似于JavaScript。你可以将ActionScript 作为一个脚本块,在MXML 文件中直接进行
  添加;或者创建一个单独的ActionScript 文件,然后将它们导入到MXML 文件中。
  4. CSS
  你可以通过设置组件的属性(properties)来改变组件(按钮、列表框等)的视觉样式。
  例如,按钮组件有一个fontFamily 属性,你可以使用它来进行字体的设置。样式的属性通常
  有四种方法来进行控制:通过主题(theme);在CSS 文件中进行定义;在MXML 文件中的样
  式块中进行定义;在组件的实例中进行设置。
  5. 图形资源
  与很多应用程序一样,Flex 包含了各种各样的图形资源,如图标和图象。
  6. 数据
  一些组件被使用来进行数据显示(combo box 或者data grid)的工作。同时,你还可以
  使用各种方式来将这些组件与数据联系起来,如使用数组、收集对象、数据模型、以及外部
  XML 数据资源,等等。
  [b]Flex [/b][b]应用程序是如何编译和发布的:[/b]
  所有的元素都被编译或连接到你的Flex 应用程序中,就象下图所示:
  Flex 应用程序被编译成一个SWF 文件,然后在Flash Player 下运行。当一个源代码被
  编译时,它就被转换成ActionScript 类(译者注:这正是Flex 精髓的地方之一,即提供从
  MXML 到ActionScript 的转换),并与图形和其它资源合并到SWF 文件里。在运行时,SWF
  文件与所需的外部库、服务和数据源进行交互。
  一般的Flex 应用程序并不需要服务器端所提供的支持。因此,你可以在你的本地计算
  机上编译它们,然后在Web 服务的HTML 页面中发布给你的用户。
  当然,你还可以将Flex 与Adobe® Flex Data Services 2、Cold Fusion Flash Remoting
  Service、或者其它Java 和J2EE Service 服务器技术结合起来,进行B/S 结构的网络应用程
  序的开发。
  [b]MXML[/b]:[b]一切开始的地方[/b]
  你可以在MXML 中使用Flex 所提供的组件来定义用户界面。这里有一个主MXML 程
  序文件的例子:
  
  
  
  
  
  
  
  如果你对XML 已经很熟悉了,就能一眼识别出这个例子的格式。MXML 代码的头两
  行包含了版本号、编码、以及命名空间的信息,文档的主体包含的是程序的具体内容。
  Flex 应用程序所有的具体内容都被放在标签对中。同时,你还可以在
  父标签对中嵌套其它的子标签对(译者注:反正标签是成对出现的,这点一定要记住)。
  该例子创建了一个简单的程序,它在屏幕上显示“Say hello to Flex!”的文字。在该程
  序中,声明了TextArea 和Button 组件,并设置了它们相应的text 和label 属性。
  备注:在MXML 文件中的每个标签都有前缀mx,它是Flex 的设计命名空间。
  程序被编译后运行,如下图所示:
  [b]第二节连接数据[/b]
  [b] [/b]
  请记住,在Flex 应用程序中对数据的操作最重要的事情是:Flex 应用程序并不直接与
  一个数据库进行连接。因此,Adobe® Flex Builder 2 没有提供直接连接数据的工具。你可以
  通过使用MXML 和ActionScript 代码来操作和管理数据。
  在 Flex 中,你可以使用几种方法去操纵和管理数据,它们大多数相关的内容已经超出
  了在这里进行简要介绍的范围(更多的信息,请查看后面的章节)。不管怎样,请想象一种
  可以连接外部数据的方法,随后的例子将演示与XML 结构的数据进行连接。
  数据的生成
  因为 Flex 应用程序并不直接与一个数据库进行连接,所以你需要使用某种类型的服务
  来支持对数据的使用。在随后的例子中,将使用HTTPService 组件从PHP 所产生的一个XML文件中获取数据。
  连接数据库的第一步是生成将在Flex 程序中使用到的数据。在与PHP 的应用中,你将采用如下的步骤:
  1. 创建一个数据库(如MySQL)。
  2. 编写一个PHP 脚本连接MySQL 数据库并生成XML 格式的数据。
  这些步骤同样适合于在其它工作平台上生成的数据(如ASP.NET、 JSP 等)。
  [b]连接外部数据源[/b]
  对于 PHP 所生成的XML 格式数据,你可以使用HTTPService 组件来请求获取数据,
  就象这样:
  
  [b][/b]
  [b]...[/b]
  [b] [/b]
  HTTPService 组件定义了一个请求ID,你将使用这个ID 来控制提供数据的URL 或者
  服务器与数据之间的绑定。
  [b]外部数据与数据驱动控制的绑定[/b]
  通过数据与数据驱动控制(data-driven control)的绑定,你就可以处理HTTPService
  的结果(XML 数据),就象这样:
  
  
  
  
  
  
  数据绑定的语法显示在数据控制的dataProvider 属性中(在波浪形的括号里),它包含了HTTPService 请求ID、lastResult 方法、以及XML 文件的数据结构。在这个例子中,XML数据源的数据结构看起来就象这样:
  
  
  
  Mobile Phone
  $199
  
  
  Car Charger
  $34
  
  ...
  通过设置dataField 属性,项目数据(name 和price)作为数据栅格中每一列的数据。
  [b]在运行时加载数据[/b]
  你还可以在Flex 程序开始运行时加载数据,就象随后所示,在 HTTPService 中向某个
  特定的URL 发送一个请求:
  
  当你将creationComplete 方法添加到应用程序标签里后,数据会在运行时进行加载并交
  于数据驱动控制(在这个例子中是数据栅格)。
  你还可以将HTTPService 请求添加到一个控制事件上而不是程序里的标签中,就象如下所示:
  
  Flex 提供许多方法去连接、管理、格式化、以及校验数据。你可以通过使用远程程序调
  用、数据服务、或者其它企业级技术来操纵和管理数据。
  しい
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值