1、 毕毕 业业 设设 计(论计(论 文)文)题题 目目 基于基于RIARIA操作系统的实时显示操作系统的实时显示 姓姓姓姓 名名名名 xxxx 学学学学 号号号号 xxxxxxxxxxxx 所在学院所在学院所在学院所在学院 机械工程学院机械工程学院 专业班级专业班级专业班级专业班级 机电二班机电二班 指导教师指导教师指导教师指导教师 xxxxxx 日日日日 期期期期 xxxx年年x x月月x x日日论文主要内容前 言第一章 RIA相关知识介绍第二章 FLEX技术第三章 二维条码简介第四章 利用Flex实现二维条码动态显示前 言 随随着新技术的进步发展和用户需求的不断丰富提升,许多原有的软件系统在
2、性能和着新技术的进步发展和用户需求的不断丰富提升,许多原有的软件系统在性能和交互性方面变得逐渐落后,不能满足用户日益增长的使用要求。在交互性方面变得逐渐落后,不能满足用户日益增长的使用要求。在InternetInternet广泛应用广泛应用于每一个领域的今天,使用于每一个领域的今天,使用WEBWEB作为应用程序的表现层成为广大用户的要求。而在众多作为应用程序的表现层成为广大用户的要求。而在众多的的WEBWEB应用程序中,一种被称为富互联网应用程序应用程序中,一种被称为富互联网应用程序(Rich Internet Application(Rich Internet Application,简称,
3、简称RIA)RIA)的具高度互动性和丰富用户体验的网络应用程序正蓬勃发展,受到了广泛的好评。的具高度互动性和丰富用户体验的网络应用程序正蓬勃发展,受到了广泛的好评。其中其中AdobeAdobe公司推出的公司推出的FlexFlex技术表现尤为突出,其动态华丽的页面,灵活多变的交互性,技术表现尤为突出,其动态华丽的页面,灵活多变的交互性,获得了越来越多用户的喜爱。获得了越来越多用户的喜爱。第一章第一章 RIARIA相关知识介绍相关知识介绍1.1 1.1 1.1 1.1 网络架构的发展网络架构的发展网络架构的发展网络架构的发展下面介绍了每个阶段的计算功能所带来的应用程序体验方面的变化下面介绍了每个阶
4、段的计算功能所带来的应用程序体验方面的变化:(1 1)基于主机的应用程序)基于主机的应用程序:应用程序提供基于文本的非图形化用户界面,只有内部人员才能进行访问。应用程序提供基于文本的非图形化用户界面,只有内部人员才能进行访问。(2 2)客户机)客户机/服务器服务器(Client/Server(Client/Server,简称,简称C/S)C/S)应用程序应用程序:采用图形用户界面,客户端的数据处理能采用图形用户界面,客户端的数据处理能力比较强。但由于客户端应用程序需要进行不断的更新,因此部署成本比较高,只能为少数人所力比较强。但由于客户端应用程序需要进行不断的更新,因此部署成本比较高,只能为少
5、数人所使用。使用。(3 3)浏览器)浏览器/服务器服务器(Browser/Server(Browser/Server,简称,简称B/S)B/S)应用程序应用程序:Web:Web的广泛使用解决了的广泛使用解决了C/SC/S应用程序部署和应用程序部署和更新的困难。但由于采用了更新的困难。但由于采用了HTMLHTML页面形式的用户界面,客户端的数据处理能力较页面形式的用户界面,客户端的数据处理能力较C/SC/S应用程序有应用程序有所回落。所回落。(4 4)富网络应用系统)富网络应用系统(Rich Internet Applications(Rich Internet Applications,简称,
6、简称R1A):R1A):将将InternetInternet的广泛性和丰富的用户的广泛性和丰富的用户界面结合起来,并实现两方面的优势,既能广泛传播,又能轻松发布和维护,同时又具有强大直界面结合起来,并实现两方面的优势,既能广泛传播,又能轻松发布和维护,同时又具有强大直观的用户界面,满足更高的、全方位的体验要求。观的用户界面,满足更高的、全方位的体验要求。这里客户机这里客户机/服务器服务器(C/S)(C/S)架构的缺点主要是部署、更新的问题架构的缺点主要是部署、更新的问题;浏览器浏览器/服务器服务器(B/S)(B/S)架构的缺点则架构的缺点则主要是受制于主要是受制于HTMLHTML的限制,无法像
7、的限制,无法像C/SC/S那样使用丰富的效果来展示数据,用户体验比较糟糕。另那样使用丰富的效果来展示数据,用户体验比较糟糕。另外,稳定的客户端外,稳定的客户端/服务器连接,也是必要条件,网络中断将使服务器连接,也是必要条件,网络中断将使B/SB/S程序无法运行程序无法运行;而而RIARIA的出现给的出现给我们带来重新在客户端和服务器端进行更好的平衡。我们带来重新在客户端和服务器端进行更好的平衡。1.2 RIA1.2 RIA的概念的概念 富因特网应用程序,其英文缩写为富因特网应用程序,其英文缩写为RIARIA(Rich Internet ApplicationRich Internet Appl
8、ication),是下一代的将桌面应是下一代的将桌面应用程序的交互的用户体验与传统的用程序的交互的用户体验与传统的WebWeb应用的部署灵活性和成本分析结合起来的网络应用程序,应用的部署灵活性和成本分析结合起来的网络应用程序,RIARIA中的富客户技术通过提供可承载已编译客户端应用程序(以文件形式,用中的富客户技术通过提供可承载已编译客户端应用程序(以文件形式,用HTTPHTTP传递)的运行传递)的运行环境,客户端应用程序使用异步环境,客户端应用程序使用异步/服务器架构连接现有的后端应用服务器,这是一种安全、可升服务器架构连接现有的后端应用服务器,这是一种安全、可升级、具有良好适应性的新的面向
9、服务模型,这种模型由采用的级、具有良好适应性的新的面向服务模型,这种模型由采用的WebWeb服务所驱动,结合了声音、视服务所驱动,结合了声音、视频和实时对话的综合通信技术使富因特网应用程序具有前所未有的用户体验。频和实时对话的综合通信技术使富因特网应用程序具有前所未有的用户体验。1.3 RIA1.3 RIA的特点的特点 Rich Internet Application(RIA)Rich Internet Application(RIA)技术是一种表现层上的技术创新,是一种具有丰富能力技术是一种表现层上的技术创新,是一种具有丰富能力的客户端技术。在继承了的客户端技术。在继承了“瘦客户端瘦客户端
10、”计算模式的容易部署特性的同时,也带来了像桌面应用一计算模式的容易部署特性的同时,也带来了像桌面应用一样的丰富性。它能够提供丰富的计算能力、基于窗口的样的丰富性。它能够提供丰富的计算能力、基于窗口的GUIGUI、矢量绘图能力、多媒体能力等。、矢量绘图能力、多媒体能力等。1.4 RIA1.4 RIA的体系结构的体系结构 上图给出了一个典型的上图给出了一个典型的RIARIA体系结构。体系结构。XMLXML通常被用作数据传输的格式,有时也被用来描述窗通常被用作数据传输的格式,有时也被用来描述窗体的布局。在很多的实例中,客户端可以保持与数据源的连接,这样服务器能够实时地对客户端体的布局。在很多的实例中
11、,客户端可以保持与数据源的连接,这样服务器能够实时地对客户端数据进行更新。数据进行更新。1.5 RIA1.5 RIA1.5 RIA1.5 RIA的技术优点的技术优点的技术优点的技术优点 RIARIA将桌面型计算机软件应用的最佳用户界面功能性与将桌面型计算机软件应用的最佳用户界面功能性与WebWeb应用程序的普遍采纳和低成本部署应用程序的普遍采纳和低成本部署以及互动多媒体通信的长处集于一体,终于成就了一种可以提供更直观、响应性和有效的用户体以及互动多媒体通信的长处集于一体,终于成就了一种可以提供更直观、响应性和有效的用户体验应用程序。验应用程序。相对于传统相对于传统B/SB/S程序,程序,RIA
12、RIA利用相对健壮的客户端描述引擎,这个引擎能够提供内容密集、响利用相对健壮的客户端描述引擎,这个引擎能够提供内容密集、响应速度快和图形丰富的用户界面。除了提供一个具有各种控件的界面之外,应速度快和图形丰富的用户界面。除了提供一个具有各种控件的界面之外,RIARIA一般还允许使用一般还允许使用SVGSVG或其他技术来随时构建图形。或其他技术来随时构建图形。RIARIA的另外一个好处在于,数据能够被缓存在客户端,从而可以的另外一个好处在于,数据能够被缓存在客户端,从而可以实现一个比基于实现一个比基于HTMLHTML的响应速度更快而且数据往返于服务器的次数更少的用户界面。的响应速度更快而且数据往返
13、于服务器的次数更少的用户界面。第二章第二章 FLEXFLEX技术技术 Macromedia FlexMacromedia Flex是目前最流行的开发富客户应用是目前最流行的开发富客户应用(RIA)(RIA)的技术之一。的技术之一。FlexFlex提供了一种方法,提供了一种方法,可以开发出将桌面软件的强交互性和丰富内容与可以开发出将桌面软件的强交互性和丰富内容与WebWeb的广度结合在一起的应用程序。的广度结合在一起的应用程序。FlexFlex服务器服务器提供基于标准的、声明性的编程方法和流程,并提供运行时服务,用于开发和部署丰富客户端应提供基于标准的、声明性的编程方法和流程,并提供运行时服务,
14、用于开发和部署丰富客户端应用程序的表示层。用程序的表示层。FlexFlex开发者使用直观的基于开发者使用直观的基于XMLXML的语言来定义丰富的用户界面,该语言由的语言来定义丰富的用户界面,该语言由FlexFlex服务器翻译成智能的客户端应用程序,在普遍存在的服务器翻译成智能的客户端应用程序,在普遍存在的FlashFlash运行时环境中运行。运行时环境中运行。2.1 Flex2.1 Flex的应用程序架构的应用程序架构 如图所示,如图所示,FlexFlex应用程序框架由应用程序框架由MXMLMXML、ActionScriptActionScript及及FlexFlex类库构成。开发人员利用类库
15、构成。开发人员利用MXMLMXML定义定义应用程序用户界面元素,利用应用程序用户界面元素,利用ActionScriptActionScript定义客户逻辑与程序控制。定义客户逻辑与程序控制。FlexFlex类库包括了类库包括了FlexFlex组件、组件、管理器及行为等。利用基于管理器及行为等。利用基于FlexFlex组件的开发模型,开发人员可在程序中加入预建的组件加入复合组件的开发模型,开发人员可在程序中加入预建的组件加入复合组件中。组件中。FlexFlex内置的界面可以由内置的界面可以由Macromeida FlashMacromeida Flash播放器显示在客户端。播放器显示在客户端。F
16、lexFlex运行时服务提供用运行时服务提供用于于FlexFlex应用程序地数据管理和安全集成。应用程序地数据管理和安全集成。2.2 Flex2.2 Flex2.2 Flex2.2 Flex工作原理工作原理工作原理工作原理图中简单的表示了图中简单的表示了FlexFlex的工作流程:的工作流程:1.1.开发者创建开发者创建FlexFlex源文件源文件MXMLMXML格式的文本文件(创建这些源文件无需特殊的编辑器或者环境要求),格式的文本文件(创建这些源文件无需特殊的编辑器或者环境要求),并将它们部署在并将它们部署在WebWeb应用服务器上;应用服务器上;2.2.终端用户在浏览器地址输入这个终端用
17、户在浏览器地址输入这个MXMLMXML文件的路径;文件的路径;3.3.服务器检测到包含有服务器检测到包含有MXMLMXML后缀的文件路径,就寻找相应的后缀的文件路径,就寻找相应的SWFSWF文件,即文件,即FlashFlash应用程序。在主应用程应用程序。在主应用程序的序的MXMLMXML第一次被访问的时候,有一个第一次被访问的时候,有一个FlexFlex的编译过程,具体任务就是把的编译过程,具体任务就是把MXMLMXML,ActionScriptActionScript代代码编译并生成码编译并生成SWFSWF文件。这个过程比较耗时,而在后面的访问中,无须这个编译过程,因此,这文件。这个过程比
18、较耗时,而在后面的访问中,无须这个编译过程,因此,这个耗时过程仅发生一次;个耗时过程仅发生一次;4.4.该该SWFSWF文件被封装在一个简单的文件被封装在一个简单的HTMLHTML文件里(为了浏览器能显示它),然后被发送到终端客户的浏文件里(为了浏览器能显示它),然后被发送到终端客户的浏览器上,最终该览器上,最终该SWFSWF文件运行在文件运行在Flash PlayerFlash Player上。上。2.3 Flex Data Services2.3 Flex Data Services模式模式FlexFlex提供了三种提供了三种RPCRPC服务,服务,Http Service,Web Ser
19、viceHttp Service,Web Service以及以及Romote ObjectRomote Object。Web ServiceWeb Service Flex Web Service Flex Web Service,专门用来访问,专门用来访问 Web ServiceWeb Service。Web Web ServiceService是针对方法的软件模块,通常使用是针对方法的软件模块,通常使用XMLXML来定义的,来定义的,它提供了一个标准的方法让软件模块跑在不同平台上,并它提供了一个标准的方法让软件模块跑在不同平台上,并且相互之间可以互相交互。且相互之间可以互相交互。Web W
20、eb ServicServic以以URLURL的方式发布成的方式发布成一个一个WSDL(Web Service Description Language)WSDL(Web Service Description Language)文件。文件。WSDLWSDL是一种标准的格式,描述了是一种标准的格式,描述了WebWeb服务接受的消息,对这服务接受的消息,对这些消息响应的格式,些消息响应的格式,WebWeb服务支持的协议以及消息发送的目服务支持的协议以及消息发送的目的地。的地。2.4 Flex2.4 Flex2.4 Flex2.4 Flex技术的优缺点技术的优缺点技术的优缺点技术的优缺点 2.4.
21、1 Flex2.4.1 Flex的优点如下:的优点如下:1.1.有强大的组件支持,可以开发出非常漂亮的用户界面,提供给用户更丰富的使用体验。有强大的组件支持,可以开发出非常漂亮的用户界面,提供给用户更丰富的使用体验。2.2.可以使用图形化助手开发可以使用图形化助手开发UI(user interface)UI(user interface),使用非常方便容易定制。,使用非常方便容易定制。3.3.使用使用XMLXML和和ActionScriptActionScript开发。其中开发。其中ActionScriptActionScript看起来具备现代语言的特点。看起来具备现代语言的特点。4.4.可通
22、过可通过HttpService,Webservice,flex data serviceHttpService,Webservice,flex data service连接远程数据。连接远程数据。5.5.可以动态编译可以动态编译ActionScript,ActionScript,编译产生编译产生flashflash文件,几乎被所有平台支持。文件,几乎被所有平台支持。6.6.可以从可以从Adobe/MacromediaAdobe/Macromedia获得充分的产品支持。获得充分的产品支持。2.4.2 Flex2.4.2 Flex的缺点如下:的缺点如下:要为要为Flex Data Services
23、 ServerFlex Data Services Server的许可证付费。尽管的许可证付费。尽管FlexFlex可以创建丰富的用户体验,但是某些公司可以创建丰富的用户体验,但是某些公司不愿意承受费用和插件限制。不愿意承受费用和插件限制。1.1.整个应用体积大,载入慢。整个应用体积大,载入慢。2.UI2.UI响应速度慢。响应速度慢。3.3.由于用由于用XMLXML通信,通信,FLEXFLEX的内容无法在网页上搜索。的内容无法在网页上搜索。第三章 二维条码简介3.1 3.1 3.1 3.1 条码技术的优点条码技术的优点条码技术的优点条码技术的优点条形码是迄今为止最经济、实用的一种自动识别技术。
24、条形码技术具有以下几个方面的优点:条形码是迄今为止最经济、实用的一种自动识别技术。条形码技术具有以下几个方面的优点:A A输入速度快:与键盘输入相比,条形码输入的速度是键盘输入的输入速度快:与键盘输入相比,条形码输入的速度是键盘输入的5 5倍,并且能实现倍,并且能实现 即时数据输入即时数据输入。B B可靠性高:键盘输入数据出错率为三百分之一,利用光学字符识别技术出错率为万分之一,而采用条形码技术可靠性高:键盘输入数据出错率为三百分之一,利用光学字符识别技术出错率为万分之一,而采用条形码技术误码率低于百万分之一。误码率低于百万分之一。C C采集信息量大:利用传统的一维条形码一次可采集几十位字符的
25、信息,二维条形码更可以携带数千个字符的信采集信息量大:利用传统的一维条形码一次可采集几十位字符的信息,二维条形码更可以携带数千个字符的信息,并有一定的自动纠错能力。息,并有一定的自动纠错能力。D D灵活实用:条形码标识既可以作为一种识别手段单独使用,也可以和有关识别设备组成一个系统实现自动化识灵活实用:条形码标识既可以作为一种识别手段单独使用,也可以和有关识别设备组成一个系统实现自动化识别,还可以和其他控制设备联接起来实现自动化管理。别,还可以和其他控制设备联接起来实现自动化管理。另外,条形码标签易于制作,对设备和材料没有特殊要求,识别设备操作容易,不需要特殊培训,且设备也相对便另外,条形码标
26、签易于制作,对设备和材料没有特殊要求,识别设备操作容易,不需要特殊培训,且设备也相对便宜。宜。3.2 3.2 3.2 3.2 二维条码概念及特点二维条码概念及特点二维条码概念及特点二维条码概念及特点条码是由一组按一定编码规则排列的条、空符号,用以表示一定的字符、数字及符号组成的信息。商品条码是将表条码是由一组按一定编码规则排列的条、空符号,用以表示一定的字符、数字及符号组成的信息。商品条码是将表示商品信息的数字代码转换成由一组规则排列的平行线条构成的特殊符号。而在水平和垂直方向的二维空间存示商品信息的数字代码转换成由一组规则排列的平行线条构成的特殊符号。而在水平和垂直方向的二维空间存储信息的条
27、形码,称为二维条形码。储信息的条形码,称为二维条形码。二维条码是在一维条码无法满足现代信息产业技术发展需求的前提下产生的。它解决了一直困扰人们的用条码对二维条码是在一维条码无法满足现代信息产业技术发展需求的前提下产生的。它解决了一直困扰人们的用条码对“物品物品”进行描述的问题,使得条码真正地成为信息存储和识别的有效工具。它除具备一维条码的优点外,同时进行描述的问题,使得条码真正地成为信息存储和识别的有效工具。它除具备一维条码的优点外,同时还具有信息容量大、可靠性高、可表示图像、汉字等多种文字信息、保密防伪性强等优点。还具有信息容量大、可靠性高、可表示图像、汉字等多种文字信息、保密防伪性强等优点
28、。随着现代信息管理需求的不断增加,迫切需要在条码有限的几何空间内表示更多的信息,以满足千变万化的信息表示的需要。二维条码的出世,大大弥补了一维条码的不足,并逐渐显示出其技术的优势。3.3 3.3 二维条码的识别原理二维条码的识别原理二维条码的识别原理二维条码的识别原理 条形码只是一种编码方式,与编程语言无关,使用任意编程工具都可以实现。由于不同颜色的条形码只是一种编码方式,与编程语言无关,使用任意编程工具都可以实现。由于不同颜色的物体,其反射的可见光的波长不同,白色物体能反射各种波长的可见光,黑色物体则吸收各种波物体,其反射的可见光的波长不同,白色物体能反射各种波长的可见光,黑色物体则吸收各种
29、波长的可见光,所以当条形码扫描器光源发出的光经光阑及凸透镜长的可见光,所以当条形码扫描器光源发出的光经光阑及凸透镜1 1后,照射到黑白相间的条形码后,照射到黑白相间的条形码上时,反射光经凸透镜上时,反射光经凸透镜2 2聚焦后,照射到光电转换器上,于是光电转换器接收到与白条和黑条相聚焦后,照射到光电转换器上,于是光电转换器接收到与白条和黑条相应的强弱不同的反射光信号,并转换成相应的电信号输出到放大整形电路。白条、黑条的宽度不应的强弱不同的反射光信号,并转换成相应的电信号输出到放大整形电路。白条、黑条的宽度不同,相应的电信号持续时间长短也不同但是,由光电转换器输出的与条形码的条和空相应的电同,相应
30、的电信号持续时间长短也不同但是,由光电转换器输出的与条形码的条和空相应的电信号一般仅信号一般仅10mV10mV左右,不能直接使用,因而先要将光电转换器输出的电信号送放大器放大放大左右,不能直接使用,因而先要将光电转换器输出的电信号送放大器放大放大后的电信号仍然是一个模拟电信号,为了避免由条形码中的疵点和污点导致错误信号,在放大电后的电信号仍然是一个模拟电信号,为了避免由条形码中的疵点和污点导致错误信号,在放大电路后需加一整形电路,把模拟信号转换成数字电信号,以便计算机系统能准确判读整形电路的路后需加一整形电路,把模拟信号转换成数字电信号,以便计算机系统能准确判读整形电路的脉冲数字信号经译码器译
31、成数字、字符信息它通过识别起始、终止字符来判别出条形码符号的脉冲数字信号经译码器译成数字、字符信息它通过识别起始、终止字符来判别出条形码符号的码制及扫描方向;通过测量脉冲数字电信号码制及扫描方向;通过测量脉冲数字电信号0 0、1 1的数目来判别出条和空的数目通过测量的数目来判别出条和空的数目通过测量0 0、1 1信信号持续的时间来判别条和空的宽度。这样便得到了被辩读的条形码符号的条和空的数目及相应的号持续的时间来判别条和空的宽度。这样便得到了被辩读的条形码符号的条和空的数目及相应的宽度和所用码制,根据码制所对应的编码规则,便可将条形符号换成相应的数字、字符信息,通宽度和所用码制,根据码制所对应
32、的编码规则,便可将条形符号换成相应的数字、字符信息,通过接口电路送给计算机系统进行数据处理与管理,便完成了条形码辨读的全过程。过接口电路送给计算机系统进行数据处理与管理,便完成了条形码辨读的全过程。3.4 3.4 3.4 3.4 二维条码的码制二维条码的码制二维条码的码制二维条码的码制 根据二维条码的生成原理和结构形状,可分类为行排式二维条码、矩阵式二维条码和邮政码。根据二维条码的生成原理和结构形状,可分类为行排式二维条码、矩阵式二维条码和邮政码。3.5 3.5 3.5 3.5 二维条码的优势二维条码的优势二维条码的优势二维条码的优势 与一维条形码相比二维条形码有着明显的优势,归纳起来主要有以
33、下几个方面:与一维条形码相比二维条形码有着明显的优势,归纳起来主要有以下几个方面:(一)数据容量更大(一)数据容量更大 (二)超越了字母数字的限制(二)超越了字母数字的限制 (三)条形码相对尺寸小(三)条形码相对尺寸小 (四)具有抗损毁能力(四)具有抗损毁能力第四章 利用Flex实现二维条码动态显示4.1 4.1 4.1 4.1 系统的总体构建系统的总体构建系统的总体构建系统的总体构建 系统构建过程:通过系统构建过程:通过FlexFlex建立建立RIARIA平台,通过调用平台,通过调用Web ServiceWeb Service(运用(运用WSDLWSDL语言),而语言),而Web Web S
34、erviceService连接数据库(包括二维条码生成程序,图片路径等相关资料信息),进行调用数据库里面连接数据库(包括二维条码生成程序,图片路径等相关资料信息),进行调用数据库里面的的“数据数据”,通过各种协议,通过各种协议HTTP/SOAP/AMPHTTP/SOAP/AMP等便可以在浏览器(等便可以在浏览器(Web ServiceWeb Service)上显示出来或将)上显示出来或将源代码编译成源代码编译成SWFSWF文件,然后在文件,然后在Flash PlayerFlash Player中运行显示。中运行显示。4.2 4.2 实现实现实现实现FlexFlex架构架构架构架构开发开发Fle
35、xFlex应用程序的典型步骤如下应用程序的典型步骤如下:1.1.选取一系列预先定制好的、用于设计应用程序界面的组件选取一系列预先定制好的、用于设计应用程序界面的组件(如表格、按钮等等如表格、按钮等等)2.2.使用使用MXMLMXML去定义用户界面的元素,布置组件以设计用户界面。去定义用户界面的元素,布置组件以设计用户界面。3.3.使用样式和主题来增强视觉方面的设计。使用样式和主题来增强视觉方面的设计。4.4.使用使用ActionScriptActionScript去定义客户端的逻辑并进行控制,添加动态行为去定义客户端的逻辑并进行控制,添加动态行为(例如程序部件之间例如程序部件之间的相互作用的相
36、互作用)。5.5.定义并连接所需的数据库服务。定义并连接所需的数据库服务。6.6.将源代码编译成将源代码编译成SWFSWF文件,然后在文件,然后在Flash PlayerFlash Player中运行。中运行。4.3主要技术实现主要技术实现 4.3.1 WebService技术 Web Service(Web服务)的应用广泛,是网络应用程序的标准。Web Service平台遵循统一标准,定义了应用程序如何在Web上实现互操作性。只要符合标准便可以用任何熟悉的语言,在任何平台上开发Web Service。为了保证数据的跨平台传输,Web Service使用XML来描述数据,使得数据可以自由传递。
37、Web Service采用WSDL来描述Web Service的相关信息及其函数、参数和返回值。WSDL使用了XML语法,并制定了严格的格式。4.3.2 Flex4.3.2 Flex4.3.2 Flex4.3.2 Flex技术实现过程技术实现过程技术实现过程技术实现过程1.1.首先定义界面大小为首先定义界面大小为800*600800*600及其它属性,设计如下:及其它属性,设计如下:mx:Application xmlns:mx=1.02.2.在界面顶端设计一个主题在界面顶端设计一个主题基于基于FlexFlex的动态显示(二维条码);下图所示:的动态显示(二维条码);下图所示:其源代码如下:其
38、源代码如下:file:/C|/Documents and Settings/Administrator/file:/C|/Documents and Settings/Administrator/桌面桌面/12345.jpg/12345.jpg 3.3.在主题下设置在主题下设置TabNavigatorTabNavigator(其中包含了四个(其中包含了四个canvascanvas):mx:TabNavigator x=0 y=69 width=800 height=631 fontSize=14 color=#0080ff themeColor=#80ff80 fillAlphas=0.0,1
39、.04.4.在第二个在第二个canvascanvas二维条码生成中的左上端设计,如下图:二维条码生成中的左上端设计,如下图:设计思路:设计思路:在Flex程序中,引入状态设计的概念。在其中,按照功能的需求,将界面切分成相对独立的部分。运行过程中,随着用户交互,界面在各个部分之间切换,这些部分代表着不同的功能,显示当前程序的运行状态,每个界面便是一个状态(State)。另外,还在状态发生改变时,为这两个状态添加了变形动画(Transition)。程序说明:程序说明:当程序或组件切换到目标状态时,里面添加的方法就会被字动调用。在使用State对象时,currenState属性代表了当前对象的状态,
40、利用它我们可以很方便地操作状态的切换。在函数changeState中,就是利用currentState来改变状态的:使用了Transition,极大地增强了状态模式下界面的表现力。Transition对象位于mx:states包中,它包括两个属性:fromState和toState,分别代表过度动作的前后状态,当状态切换符合Transition的条件,即切换前后的状态和fromState、toState都相等时,形变动画就开始播放。代码中使用了SetProperty用来修改target的属性值;利用SetEventHandler设置目标特定事件的监听函数;利用SetStyle修改目标的某一样式
41、属性。在每个标签中只允许使用一个动画效果,为了应用多哥动画效果,可以使用符合效果来达到目的。5.5.在下端增加在下端增加AccordionAccordion组件:组件:设计思路:设计思路:主要利用Accordion组件。该组件是一个可折叠的导航器,它包含一个字面板的列表,单一次仅显示一个面板。若要切换到相应导航容器,单击与它相对应的导航按钮即可。由图形和程序可知:使用Accordion容器,插入了四个字面板,用户可以按任何顺序访问字面板,随意在字面板中前后移动。6.6.利用利用ViewStackViewStack在其下面右下部分创建二维条码(四个)的显示,并使用在其下面右下部分创建二维条码(四
42、个)的显示,并使用TabBarTabBar对其进对其进行了四个条码的切换。行了四个条码的切换。设计思路:设计思路:主要利用导航类容器主要利用导航类容器View StackView Stack组件和导航类控件组件和导航类控件TabBarTabBar共同制作完成。由于共同制作完成。由于ViewStackViewStack导航容器由若干个重叠在一起的子容器组成,每次只有一个容器是可见(活动)的。在此放导航容器由若干个重叠在一起的子容器组成,每次只有一个容器是可见(活动)的。在此放置了四张二维条码图,故创建了四个子容器。置了四张二维条码图,故创建了四个子容器。TabBar TabBar的独立性使它可以
43、和任何组件结合在一起,而不仅仅限于容器类组件。的独立性使它可以和任何组件结合在一起,而不仅仅限于容器类组件。TabBarTabBar本身只包括本身只包括了一组标签,没有其他内容。这里通过监听它的了一组标签,没有其他内容。这里通过监听它的itemClickitemClick事件:事件:mx:TabBar id=在事件函数在事件函数btn_click_handlerbtn_click_handler中,使用中,使用TabBarTabBar间接控制间接控制View StackView Stack容器:容器:myViewstack.selectedIndex=evt.index;myViewstack
44、.selectedIndex=evt.index;这句代码把这句代码把TabTarTabTar点击的按钮索引位置和点击的按钮索引位置和Vie StackVie Stack的被选中元素的位置联系起来。的被选中元素的位置联系起来。程序说明:程序说明:7.7.在第三个容器在第三个容器canvascanvas中设计用户管理信息如下:中设计用户管理信息如下:设计思路:设计思路:运用Flex组件中的Form容器,快速部署一个用户信息表单,并通过表单验证进行对用户输入的信息的验证,过滤不合格的数据。例如上面的这段代码,StringValidator的目标对象为user_txt,且property为user_
45、txt的文本属性“text”。minLength和maxLength分别代表了字符的最短长度和最长长度必须在612之间。当用户输入的字符太短时,显示提示信息tooShortError“用户名太短了”。这里共添加了五个验证对象,其中两个为SringValidator类型,用于字符验证,另外三个分别是:PhoneNumberValidator,用于电话号码验证;DataValidator用户日期验证,EmailValidator用于邮箱地址验证。这五个对象分别针对不同组件,它们的source属性表示目标对象。8.8.在其第四个容器(帮助)栏里设计相关链接及其它:在其第四个容器(帮助)栏里设计相关链
46、接及其它:添加了一个(与添加了一个(与)超级链接:)超级链接:如右图的如右图的“adobeadobe公司欢迎您公司欢迎您”,其编写的程序为:其编写的程序为:mx:Text width=347 height=42 fontSize=30 x=10 y=28 color=#0000ff!CDATAadobe!CDATAadobe公司公司欢迎您欢迎您.这里要注意:在Text标签中插入HTML代码时必须使用CDATA标签。其相关程序如下:其主要特点是能够自动更新 另外还设计了一个日历:9.9.二维条码动态显示界面:二维条码动态显示界面:谢 谢 毕业设计给了我一个很好的学习新知识的机会。从一个毕业设计给了我一个很好的学习新知识的机会。从一个陌生领域陌生领域RIARIA的认识过程,到利用的认识过程,到利用RIARIA技术(技术(Flex)Flex)构建构建RIARIA平台上的动态显示页面,我从中学到了不少新的知识,平台上的动态显示页面,我从中学到了不少新的知识,从学习设计的过程体会到学习的乐趣。从学习设计的过程体会到学习的乐趣。毕业设计不仅仅只是一门大学毕业最后的功课,它更是毕业设计不仅仅只是一门大学毕业最后的功课,它更是对我们学习知识能力高低的一枚对我们学习知识能力高低的一枚”试金石试金石“。