FLEX数据传输与交互.doc

上传人:M****1 文档编号:547119916 上传时间:2022-12-27 格式:DOC 页数:48 大小:196.50KB
返回 下载 相关 举报
FLEX数据传输与交互.doc_第1页
第1页 / 共48页
FLEX数据传输与交互.doc_第2页
第2页 / 共48页
FLEX数据传输与交互.doc_第3页
第3页 / 共48页
FLEX数据传输与交互.doc_第4页
第4页 / 共48页
FLEX数据传输与交互.doc_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《FLEX数据传输与交互.doc》由会员分享,可在线阅读,更多相关《FLEX数据传输与交互.doc(48页珍藏版)》请在金锄头文库上搜索。

1、FLEX数据传输与交互数据具有流动性,数据传输是指根据用户控制传递至指定目的地。数据交互是指Flex与其他程序进行数据交换,包括传递数据给其他程序和接收其他程序返回的数据。本章将详细讲解数据传输的各种方法及如何与其他程序进行交互。21.1 数据传输的方式Flex 3.0中的数据传输方式包括内部数据传输、文件流方式传输、XML方式传输、其他方式传输。应用程序内部的数据传输大多通过变量传递来实现。外部文件的数据可分为简单文本数据、XML数据和复杂数据。对于简单的文本数据可采用文件流方式传输。对于XML数据可采用XML方式传输。对于复杂的数据,如大型数据库中的数据,需要通过其他程序来辅助数据传输。

2、21.1.1 内部数据传输内部数据传输是指应用程序内部的数据流动,而变量传递是其中最常使用的传输方式。对于同一文件或类中的变量可采用直接赋值的方式。对于不同文件或类中的变量可采用公有变量的方式。1直接赋值方式直接赋值是指将一变量赋值给另一变量。以下代码将变量b的值直接赋值给变量a。var a:int,b:int=12;a=b;大部分情况下,使用“=”符将两变量连接起来就实现了变量传递,但有两种情况下需要特殊处理。一种情况是两个变量的类型不相同,需要强制转换。需要说明的是,若两个变量类型相近,编译器可自动转换。例如,将int类型的变量赋值给Number类型变量时,编译器自动执行变量传递。若两个变

3、量类型相差甚远,如Object型与Array型,就需要强制转换。Flex 3.0中数据类型强制转换的语法如下所示。变量名 as 强制类型或者如下所示。(强制类型)变量名以下代码将int类型强制转换为Number类型。var s:Number=y as Number;var t:Number=(Number)y;另一种情况是特殊的变量类型,如Array等多维数据变量。前面章节中详细介绍过数组变量。为了节约变量空间,Array类型的变量并不存储全部数据,而是存储数组的首地址。若两个数组变量直接赋值,结果是两个变量都存储了同一数组的首地址,改变任何变量中的数据也就改变了数组的内容。以下代码中两个数组

4、变量直接赋值,带来了错误的结果。var a:Array,b:Array=1,2,3;a=b;a0=100;trace(a); 结果:100,2,3trace(b); 结果:100,2,3为了帮助读者理解,假设数组在内存的首地址为000001。变量赋值后,变量a、b都指向首地址000001。对变量a进行数据修改后,数组数据发生改变。但变量a、b仍然指向同一首地址。正确的做法是使用concat方法复制变量b。上述代码修改如下所示。var b:Array=1,2,3;var a:Array=b.concat();a0=100;trace(a); 结果:100,2,3trace(b); 结果:1,2,

5、32公有变量方式声明变量为公有的关键字为public”。其语法如下所示。public var 变量名:变量类型;以下代码定义了公有变量s。public var s:String=aafdsfdsa;不同文件或类中使用公有变量方式传输变量,其步骤如下所示。 在工程中新建名为“Model”文件夹下,并在此文件夹下新建名为“model”的类。类中定义一公有变量a。以下代码定义了model类。/model.cspackage Model public class model public static var a:String=123456; /定义一个静态变量 在MXML文件中调用model类的公有

6、变量a。以下代码在MXML文件中调用公有变量a。 按下Ctrl+F11快捷键编译运行程序。 21.1.2 文件流方式传输文件流方式传输是指数据以二进制文件流的形式流动。简单的数据可存储于文本文件中,通过Flex AIR工程中新增的File、FileStream等类可以方便地操作本地文件。使用文件流方式传输数据的步骤如下所示。 新建AIR工程。Flex 3.0中新增AIR工程项目及对本地文件操作类。 在工程根目录中新建名为“test.txt”的文件。文件中的内容可随意。 定义File类变量,并指向“test.txt”文件。创建File类变量的语法如下所示。var File变量:File=new

7、File(文件路径);以下代码定义File类变量,并指向根目录下的“test.txt”文件。var file:File=new File(File.applicationResourceDirectory.nativePath+ test.txt);“File.applicationResourceDirectory.nativePath”表示工程路径。 使用FileStream类打开文件“test.txt”。打开文件需要使用FileStream类,其语法如下所示。var FileStream变量:FileStream=new FileStream();FileStream变量.open(Fi

8、le变量,打开方式);打开方式可为“FileMode.READ”、“FileMode.WRITE”、“FileMode.APPEND”、“FileMode. UPDATE”四种。本程序中使用“FileMode.READ”。以下代码使用FileStream类打开文件“test.txt”。var stream:FileStream = new FileStream(); /定义FileStream类实例,用以处理文件流stream.open(file,FileMode.READ); /以读的方式打开文件 读取FileStream类中的数据。在使用FileStream类打开文件后,数据存储于File

9、Stream变量中。可使用readUTFBytes方法读取数据。其语法如下所示。FileStream变量.readUTFBytes();readUTFBytes方法返回类型为String型。以下代码使用readUTFBytes方法将数据赋值给文本组件显示。txtFile.text=stream.readUTFBytes(stream.bytesAvailable);“stream.bytesAvailable”是readUTFBytes方法的可选参数,表示读取全部文件流数据。 在MXML的代码模式下查看完整代码。以下代码是完整的MXML程序。 按下Ctrl+F11编译运行程序。 21.1.3 XML方式传输XML优点是简单小巧、存储方便、检索快速。所以,XML常用于数据存储和数据交换。Flex 3.0使用URLLoader类可方便地传输XML数据。使用XML方式传输数据的步骤如下所示。 新建Flex工程。 新建名为“TreeMenus.xml”文件,用以存储XML数据。以下代码是“TreeMenus.xml”文件中的数据定义。/TreeMenus.xml?xml version=1.0 enc

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

最新文档


当前位置:首页 > 生活休闲 > 社会民生

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