Flex学习文档

上传人:jiups****uk12 文档编号:40015268 上传时间:2018-05-22 格式:DOC 页数:244 大小:8.88MB
返回 下载 相关 举报
Flex学习文档_第1页
第1页 / 共244页
Flex学习文档_第2页
第2页 / 共244页
Flex学习文档_第3页
第3页 / 共244页
Flex学习文档_第4页
第4页 / 共244页
Flex学习文档_第5页
第5页 / 共244页
点击查看更多>>
资源描述

《Flex学习文档》由会员分享,可在线阅读,更多相关《Flex学习文档(244页珍藏版)》请在金锄头文库上搜索。

1、Flex 学习文档学习文档一,一,总体介绍总体介绍传统网络程序的开发是基于页面的、服务器端数据传递的模式,把网络程序的表现层建立于 HTML 页面之上,而 HTML 是适合于文本的,传统的基于页面的系统已经渐渐不能满足网络浏览者的更高的、全方位的体验要求了。而富互联网应用(Rich Internet Applications,缩写为 RIA)的出现就是为了解决这个问题。富互联网应用程序是下一代的将桌面应用程序的交互式用户体验与传统的 WEB应用的部署灵活性和成本分析结合起来的网络应用程序。富互联网应用程序中的富客户技术通过提供可承载已编译客户端应用程序(以文件形式,用 HTTP 传递)的运行环

2、境,客户端应用程序使用异步客户/服务器架构连接现有的后端应用服务器,这是一种安全、可升级、具有良好适应性的新的面向服务模型,这种模型由采用的 WEB 服务所驱动。结合了声音、视频和实时对话的综合通信技术,使富互联网应用程序(RIA)具有前所未有的网上用户体验。Adobe RIA 技术封装让现有的 WEB 技术得到了极大的保留,核心价值在于大大提高了产品设计师和开发工程师的“开发体验” ,强化了设计端和开发端的整合。设计师和开发工程师们可以方便地将自己的代码平移到新的平台上,并且发布、部署的方式比之前的任何一款开发工具都方便得多,从而使 RIA 应用有更广大的开发者基础。Adobe RIA 技术

3、也将带来新的桌面革命“Desktop 2.0” ,内容从 Flash, HTML/CSS/JS,到 PDF,几乎涵盖了时下最流行的 WEB 内容载体。此外, “可离线”应用模式能让用户更加安全、舒适地进行工作和娱乐。用户们不必再抱怨因网络故障而造成的信息损失,而且也可以借助本地资源更好地节省网络资源。因此,Adobe RIA 技术可以让用户将 WEB 2.0 应用带回桌面,创造的商业应用价值和用户体验价值将超过以往任何技术。 -摘自百度百科Flex 作为富 Internet 应用(RIA)时代的新技术代表,自从 2007 年 Adobe 公司将其开源以来,Flex 就以前所未有的速度在成长。很

4、多公司,包括 IBM 都纷纷加入了 Flex 开发的阵营当中。很多开发人员也按捺不住 Flex 的“诱惑”而准备从事 Flex 开发。 -摘自http:/www.IBM.com/cn二,二,开发开发 Flex 的必要工具的必要工具1.开发工具开发工具。Flex 的开发工具是 Flex Builder,目前常用版本是 3.0,最新版的 4.0已经在试运行阶段了。Flex Builder 构建在 Eclipse 之上,eclipse 是一个非常好的交互式开发环境(IDE) ,非常流行的 Java 开发工具。虽然开发 Flex 程序不一定要 Flex Builder,但是 Flex Builder

5、提供了很多优秀特性可帮助你有效提高设计和开发效率,Flex Builder 可独立安装也可作为 eclipse 插件形式安装。2.FluorineFX。FluorineFX 是一个开源库,提供了一种在.NET framework 下对Flex/Flash 的远程过程调用,Flex 数据服务和实时数据的使用技术。主要特性有:Flex, Flash Remoting (RPC)Flex Messaging (partial)Flex Data Services (partial)Supports AMF0, AMF3 and RTMP protocolsService BrowserTemplat

6、e based code generator (ASP.NET like syntax)Easily integrate rich Internet applications with .NET backendEasily integrate with Adobe Integrated Runtime (Adobe AIR)3.Microsoft Visual Studio 2005/2008,开发服务端程序的工具。4.WEB 浏览器和 Flash Player9.0 或者 Flash Player10.0。用于加载程序。三,三,两个重要的协议两个重要的协议1.RMTP:Real Time M

7、essaging Protocol(实时消息传送协议协议)实时消息传送协议是 Adobe Systems 公司为 Flash 播放器和服务器之间音频、视频和数据传输开发的私有协议,在 Flex 中的主要应用时 ShareObject。原始 RTMP 协议是维护了一个基于 TCP 唯一的长连接,允许实时通信。它有三种变种:1)工作在 TCP 之上的明文协议,使用端口 1935; 2)RTMPT 封装在 HTTP 请求之中,可穿越防火墙; 3)RTMPS 类似 RTMPT,但使用的是 HTTPS 连接;RTMP 协议是被 Flash 用于对象,视频,音频的传输.该协议建立在 TCP 协议或者轮询

8、HTTP 协议之上.RTMP 协议就像一个用来装数据包的容器,这些数据可以是 AMF 格式的数据,也可以是 FLV 中的视/音频数据.2.AMF:AMF(是 Action Message Format 的缩写)是在 flash 和 flex 中 remoting 的一种方式格式。在 Flex 中的主要应用是 RemoteObject。AMF 协议是基于 Http 协议的。它的内容处理过程大致是这样:1、从客户端获取 Http 请求(Request)流.2、对流进行解串行化(Deserialize),得到服务器端程序能够识别的数据,并建立一个响应(Response)消息3、Debug 开始4、对

9、流进行各种处理(记录、许可、服务)得到返回值5、对响应流进行串行化6、发送 Http 响应给客户端四,四,与与 HTML 比较比较HTML模模式式WEB显显示示方方式式浏浏览览器器 (IE) Ajax HttpServiceHTML + JavaScript客户端服务端服服务务器器 (IIS)A + C#PageHandler 解译2.并定义一个类型为 ArrayCollection 的变量 roomList,private var roomList: ArrayCollection;3.并给 roomList 变量添加 Bindable 的数据标签,如Bindableprivate var

10、roomList: ArrayCollection;4.在 script 标签下添加 httpservice 标签,如5.给 Application 标签添加一个系统委托,creationComplete,并赋值 init();creationComplete=“init()“6.在 script 标签下创建一个自定义函数 init(),private function init():void7.在 init()函数中调用 httpService 的方法 send(),rooms.send();8.给 httpservice 添加执行成功和失败的回调函数,在 httpservice 标签中添加

11、属性fault,并赋值为 httpfaulthandle(),如:fault=“httpFaultHandler(event)“9.并在 script 标签中引用 FaultEvent 类import mx.rpc.events.FaultEvent;10. 再引用 Alert 类import mx.controls.Alert;11. 在 script 标签中添加一个名为 httpfaulthandle 的函数,该函数有一个类型为FaultEvent 的参数,且返回值为 voidprivate function httpfaulthandle(event:FaultEvent):void12

12、. 在此函数中添加一个方法为提示用户出错的信息,Alert.show(“报错了!”);13. 在没有 roomList.xml 的文件的时候,保存并运行14. 给 HTTPService 新建一个 result 的委托 httpResultHandle ()result=” httpResultHandle ()”15. 在 script 标签中引用 ResultEvent 类,如:import mx.rpc.events.ResultEvent;16. 再在 script 标签中新建 httpResultHandle 函数,并在函数中添加函数执行成功的提示,如下:private functi

13、uon httpResultHandle(event:ResultEvent):voidAlert.Show(“恭喜,执行成功!”);17. 并在与 adobeODT.mxml 同级的目录下新建一个名为 roomList 的 XML 文件,文件内容如下:18. 保存并运行,19. 再在 httpResultHandle 函数中添加给 roomList 赋值的代码,private functiuon httpResultHandle(event:ResultEvent):voidroomList = event.result.rooms.room;Alert.Show(“恭喜,执行成功!”);2

14、0. 保存并运行,这时我们在list控件可看到数据显示是Object Object,这说明我们没有指定List要绑定具体的字段,这时就需要指定labelField和dataField属性,我们从语义上就很容易地看出,前者是指定显示的字段,后者指定的是绑定的数据字段。接下来我们继续修改List控件如下21. 保存并运行,九,九,通过通过 RemoteObject 与服务端进行通信与服务端进行通信Flex 与.net 通信可以通过 WebService、HTTPService、UrlLoader 以及FileReference 来进行通信,通过这些方式与服务器的通信是非常简单方便的,但他们的缺点是

15、通信数据量较小,如要传输较大数据或是实现不同对象的序列化传输,它们则满足不了我们的需求,需要寻找另一种通信协议,另一种高效的传输协议来代替SOAP 协议的传输方案,那便是 AMF(ActionScript Message Format)协议。我们可以看以下的一个小测试结果:开源项目 FluorineFx 就是专门针对.NET 平台与 Flex 通信提供的 AMF 的协议网关,我们可以通过 FluorineFx 很方便地完成与.NET 平台的通信。FluorineFx 的下载地址是:http:/ 的解决方案,并添加 FluorineFx 服务器库2.FluorineFx 服务库添加成功后会发现,

16、项目模板中会自动为我们创建一个 Sample类和 Echo 方法,如下3.接着添加 FluorineFx 网站到解决方案,添加成功后网站会自动引用 FluorineFx 服务库的 dll,如下图4.到这里我们可以简单测试 FluorineFx 的.NET 服务端是否成功创建,通过浏览器查看 FluorineFx 网站中的 Console.aspx 页面,程序便会运行到 FluorineFx 的控制台,展开左边项目中 Service 节点便会看到上面模板为我们创建的类和方法,点击方法节点,在页面的右边就可以进行测试了,如下图5.到这里.NET 服务端的开发就完成了。6.在 Flex Builder 中点击工具栏中的 ProjectPropertiesFlex Compiler 中找到Additional compiler arguments,在对应的文本框中输入如下-locale en_US -services

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号