AS与网络通信.pptVIP

  • 2
  • 0
  • 约 18页
  • 2015-12-18 发布于湖北
  • 举报
AS与网络通信.ppt

第22章 AS3.0与网络通信 Flash之所以能够有着越来越大的发展空间,其良好的数据交互功能也起着极为重要的作用。在ActionScript 3.0中,所有的与外部数据进行交互的功能都被放在.*包中,有专门的类进行管理,而且实现了流程的的标准、统一,使Flash与外界数据的交互更加的清晰与简单。 本章讲着重介绍ActionScript 3.0与外界数据交互的原理、Flash与外部数据的连接和交互以及Flash与计算机本地数据的交互操作。 22.1 数据通信基础 在创建复杂的ActionScript 3.0应用程序时,通常需要与服务器端脚本进行通信,或者从外部 XML 文件或文本文件加载数据。 在ActionScript 3.0中,使用URLLoader和URLRequest类来加载外部文件。加载成功的文件可使用特定类来访问数据,具体使用何类,取决于加载数据的数据类型。比如如果加载数据的格式为名称值对类型,则可以使用URLVariables类来分析服务器结果。如果加载的文件是外部XML文档,则可以使用XML类的构造函数、XMLDocument类的构造函数或XMLDocument.parseXML()方法来分析XML文档。 本节讲介绍数据通信的原理、从外部文件或服务器脚本中加载数据和将数据发送到服务器脚本方法。 22.1.1 构建通信请求过程 在ActionScript 3.0中,要实现一个网络通信,需要三个过程来实现,具体为: (1)使用URLRequest创建通信请求对象。 (2)使用通信请求对象,创建URLLoader载入对象,并发出请求的要求。 (3)监听URLLoader对象,在响应完成事件后,返回要处理的数据。 下面来逐步介绍通信的过程和方法。 1.构建通信请求对象 2.发出数据请求 3.获取返回数据 22.1.2 加载文本格式数据 文本格式数据包括:普通文本、XML、HTML等以UTF-8字符组成的字符串文本都属于文本格式。 下面的示例实现从外部的test.html文件种读取数据,并把它显示在文本框中,实现读取外部html网页格式文本的效果。test.html文本内容如图所示。 22.1.3 加载值对格式数据 如果要加载的外部文本时值对格式的数据,并且以URL形式编码,则需要将URLVariables的dataFormat类型设置为URLLoaderDataFormat.VARIABLES。一般的值对格式的数据样式如下所示。 variable1=value1variable2=value2。 下面的示例实现从外部的test.txt文档中取得值对格式的数据,并在Flash中使用文本进行显示。test.txt文档内容如下所示。 标题=AS3.0基础教材作者=浪子啸天支持网站= 22.1.4 加载二进制格式数据 二进制文件是指包含在ASCII及扩展ASCII字符中编写的数据或程序指令的文件。计算机文件基本上分为二种:二进制文件和ASCII(也称纯文本)文件,图形文件及文字处理程序等计算机程序都属于二进制文件。ASCII则是可以用任何文字处理程序阅读的简单文本文件。 在ActionScript 3.0中,二进制文件主要是为了强调与文本文件的区分,大部分的非文本格式文件都被归为二进制文件。在ActionScript 3.0中,所有的图像、SWF文件都可以以二进制格式载入,以ByteArray字节数组来表示,此数组储存在URLLoader对象的data属性中。 22.1.5 发送数据 如果需要向服务器发送数据,可以有两种方式可供选择:一是若只是发送不需要返回数据,则可以使用sendToURL()方法来实现,其用法格式如下: sendToURL(req:URLRequest) 二是既需要发送数据,也需要返回数据,则使用Loader对象的load()方法来实现。通常的数据发送需要执行下面的两步操作: (1)将需要提交的数据放入URLRequest对象的data属性中,然后使用URLLoader对象的load()方法发送数据。 (2)从URLLoader对象的data属性中获取返回的数据并分析。 下面的示例实现将Flash中的数据发送到后台的asp文件中,并返回响应的数据信息。 22.1.6 打开外部链接效果 在ActionScript 3.0中,要在Flash中打开网址,需要使用包中的navigateToURL()函数来实现。其用法格式如下所示。 navigateToURL(request:URLRequest, window:String = null) 说明:此方法实现在包含Flash Player容器的应用程序中,通常是在一个浏览器中,打开或者替换一个窗口。 参数说明如下: request:URLReque

文档评论(0)

1亿VIP精品文档

相关文档