Flash 与 Web Service 技术的完美结合
2007-08-16 20:50
204 查看
摘要:
本文以一个最简单加法器的例子,介绍了一下Flash调用Web Service的技术, 使用的开发工具是Visual Studio 2005 Beta2和Flash MX 2004。
众所周知,Flash的表现力很强,最擅长完成又酷又炫的动画效果,适合完成客户端的前台界面。而前台Flash需要的数据都是由后台服务器端的复杂逻辑。如何让Flash与服务器建立连接,进行有效的数据交互呢?Web Service就是一个很不错的选择。
什么是Web Service呢?这里做一个简单的介绍吧。WebService是建立可互操作的分布式应用程序平台,有点难懂是吧。打个比方,有个电子商务网站提供在线货物清单查询销售的服务,或一家研究所有个DNA的数据库查询服务。现在N多家网站或企业可以通过签订协议使用这个服务。这就是Web Service。而它采用的就是一个国际的标准用于生成和解读交互服务。这个标准其实就是一个标准化的XML,而它就叫做wsdl,用标准统一的XML格式给用户能正确解读使用。所以包括任何一种后台服务端语言都能生成和读取wsdl(几乎所有脚本语言都支持,比发ASP,ASP.NET, PHP, C#, JAVA, CF.....)。
在Flash的最新版本Flash MX 2004中,推出了Flash连接Web Service的组件:WebServiceConnector,用它可以非常方便的实现Flash与Web Service的通讯。废话少说,现在我就来用一个很简单的加法器的例子来演示一下。
1.首先,我们来写服务器端,也就是Web Service的逻辑。在VisualStudio2005中新建一个WebService工程,添加一下代码:
运行这个工程,测试一下逻辑是否正确。
2.Web Service准备好了,就可以开始Flash的工作了。我们新建flash一个文件,在flash右面的Components找到WebServiceConnector组件,把它拖到舞台上。
同样,我们还需要拖一些TextInput和Button组件到舞台,用于显示用户的输入和输出结果。
3.接下来,我们给舞台上的每个控件起一个实例名。比如,我先选中WebServiceConnector,然后在它的属性里,在InstanceName里给它起个名字,比如叫:WSConn。然后在WSDLURL中输入Web Service的路径名,如: http://localhost:43980/Demo/Service.asmx?wsdl,记得要在最后加上“?wsdl”。最后在operation中选择需要调用的方法名。
同样的方法,给三个TextInput分别命名为num1, num2, resultNum。
4.绑定数据。我们需要把num1, num2的输入值与WebService中add的方法的两个参数邦定。
选中WebServiceConnector控件,在右面的Component Inspector一栏里做如下操作:
然后,在Bindings里就会看到 param.a, 点 bind to 后面的放大镜,在弹出的窗口中找到num1,点OK。这样,TextInput num1就与参数a绑定了。同样的方法,把num2与参数b绑定。
5.最后,就要在flash中写脚本了。选中舞台上的Button,在Action里添加如下代码:
6.运行一下flash, 就可以看到结果啦!
这只是一个最简单的例子,其实,flash可以接受Web Service返回的简单数据类型,包括int(flash里的Number), string, boolean, array等等。这样一来,Flash便可以在外表绚丽的同时,实现更强大的功能,真正达到RIA(Rich Internet Application)。
本文以一个最简单加法器的例子,介绍了一下Flash调用Web Service的技术, 使用的开发工具是Visual Studio 2005 Beta2和Flash MX 2004。
众所周知,Flash的表现力很强,最擅长完成又酷又炫的动画效果,适合完成客户端的前台界面。而前台Flash需要的数据都是由后台服务器端的复杂逻辑。如何让Flash与服务器建立连接,进行有效的数据交互呢?Web Service就是一个很不错的选择。
什么是Web Service呢?这里做一个简单的介绍吧。WebService是建立可互操作的分布式应用程序平台,有点难懂是吧。打个比方,有个电子商务网站提供在线货物清单查询销售的服务,或一家研究所有个DNA的数据库查询服务。现在N多家网站或企业可以通过签订协议使用这个服务。这就是Web Service。而它采用的就是一个国际的标准用于生成和解读交互服务。这个标准其实就是一个标准化的XML,而它就叫做wsdl,用标准统一的XML格式给用户能正确解读使用。所以包括任何一种后台服务端语言都能生成和读取wsdl(几乎所有脚本语言都支持,比发ASP,ASP.NET, PHP, C#, JAVA, CF.....)。
在Flash的最新版本Flash MX 2004中,推出了Flash连接Web Service的组件:WebServiceConnector,用它可以非常方便的实现Flash与Web Service的通讯。废话少说,现在我就来用一个很简单的加法器的例子来演示一下。
1.首先,我们来写服务器端,也就是Web Service的逻辑。在VisualStudio2005中新建一个WebService工程,添加一下代码:
[WebMethod] public int add(int a,int b) { return a+b; } |
2.Web Service准备好了,就可以开始Flash的工作了。我们新建flash一个文件,在flash右面的Components找到WebServiceConnector组件,把它拖到舞台上。
同样,我们还需要拖一些TextInput和Button组件到舞台,用于显示用户的输入和输出结果。
3.接下来,我们给舞台上的每个控件起一个实例名。比如,我先选中WebServiceConnector,然后在它的属性里,在InstanceName里给它起个名字,比如叫:WSConn。然后在WSDLURL中输入Web Service的路径名,如: http://localhost:43980/Demo/Service.asmx?wsdl,记得要在最后加上“?wsdl”。最后在operation中选择需要调用的方法名。
同样的方法,给三个TextInput分别命名为num1, num2, resultNum。
4.绑定数据。我们需要把num1, num2的输入值与WebService中add的方法的两个参数邦定。
选中WebServiceConnector控件,在右面的Component Inspector一栏里做如下操作:
然后,在Bindings里就会看到 param.a, 点 bind to 后面的放大镜,在弹出的窗口中找到num1,点OK。这样,TextInput num1就与参数a绑定了。同样的方法,把num2与参数b绑定。
5.最后,就要在flash中写脚本了。选中舞台上的Button,在Action里添加如下代码:
on (click) { var res:Function = function (evt:Object) { //把WebService的返回值显示在相应的TextInput:ResultNum中 _root.resultNum.text = _root.WSConn.results; }; //添加Listener,在WebService调用成功后,执行res函数 _root.WSConn.addEventListener("result", res); _root.WSConn.trigger(); } |
6.运行一下flash, 就可以看到结果啦!
这只是一个最简单的例子,其实,flash可以接受Web Service返回的简单数据类型,包括int(flash里的Number), string, boolean, array等等。这样一来,Flash便可以在外表绚丽的同时,实现更强大的功能,真正达到RIA(Rich Internet Application)。
相关文章推荐
- Flash 与 Web Service 技术的完美结
- Flash与游戏的完美结合
- flash与cocos2d-x完美结合
- HTML5和HLS协议两种技术完美结合解决移动端网页播放问题
- HTML5和HLS协议两种技术完美结合解决移动端网页播放问题
- vb.net与FLASH的完美结合
- Android缓存技术,完美结合LruCache和DiskLruCache
- 支付宝(AR虚拟现实)红包玩法与技术背景 - GIS(LBS)、图像识别与秒杀技术的完美结合
- vb.net与FLASH的完美结合
- AJAX技术与asp.net 2.0的完美结合之Timer的web应用 及使用AJAX控件时的“Sys 未定义”错误解决办法
- 直播时移技术与网络电视台的完美结合
- Flash与C#结合,打造完美WinForm程序
- C#调用FLASH [转自aowind的vb.net与FLASH的完美结合]
- AJAX技术与asp.net 2.0的完美结合之Timer的web应用 及使用AJAX控件时的“Sys 未定义”错误解决办法
- jsfl与Flash的完美结合
- 嵌入式系统开发:Arm与Linux的完美结合 - 0769 - ITeye技术网站
- vb.net与FLASH的完美结合
- Xz压缩的技术结合tar的使用详解
- 惠普软件技术总监赵大平:IT与业务的结合
- RxJava 与 Retrofit 完美结合实践