《Flex 3程序设计》读书笔记

本文深入解析Flex基础知识,从静态网站到动态网站,再到RIA网站的实现原理。详细介绍了Flex与FlexBuilder3的项目创建、设计模式、代码模式、组件管理、FlexProperties视图操作、编译执行流程以及ActionScript3.0的核心概念,包括类文件、对象、属性、函数、事件监听与处理等。同时讨论了ActionScript3.0与ActionScript1.0和2.0之间的版本兼容性问题,以及如何在Flex或Flash应用中高效地利用ActionScript进行开发。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一章 Flex基础知识

静态网站

浏览器-www.friendsofed.com->

万维网路由器->

主Web服务器->搜索被请求的HTML页面,找到并将该页面打包,在包上面注明返回地址->

万维网路由器->

发送回浏览器->浏览器读取HTML代码,显示页面

”在因特网上查看Web页面“--这是一个普遍的误解。Web页面是下载到你的计算机上,并通过计算机看到的。一旦Web服务器把HTML页面发送给你,它的工作就完成了。


动态网站

浏览器-www.friendsofed.com/index.jsp->

万维网路由器->

主Web服务器->应用程序服务器,根据请求参数,访问数据库->数据库->应用程序服务器,根据返回的数据和模板,组成全新的HTML页面->主Web服务器->

万维网路由器->

发送回浏览器->浏览器读取HTML代码,显示页面


RIA网站

我们真正加载的只有一个文件,即Flash SWF。这之后,当信息需要改变时,刷新的是所改变的内容,而不是整个页面。错误更少,数据显示更快,用户体验更完美。


思想:可扩展性来自可传参。


第二章 Flex与Flex Builder 3

创建项目:

New Project

Project location 程序的硬盘位置。

Application type :程序的类型

Web application :Web程序,运行在浏览器上的Flash Player上。

AIR(Adobe Integrated Runtime):桌面程序,运行在桌面上。

Server technology :后台服务器类型。


Output folder:编译出来的SWF位置。


Source path:指定源文件的文件夹。

Main source folder : src

Main application file : project_name.mxml

Output folder URL : 


Finish后,Flex Builder会自动生成一些文件夹和文件:

bin-debug:代码输出

src:包含主应用程序project_name.mxml


Flex项目都有一个叫做应用程序文件(application file)的MXML文件和另外几个叫做组件(component)的MXML文件组成。


开发项目:

Design模式

点击Design模式后,看到Components视图,States视图,Flex Properties视图。

Components视图

Controls:接受和发送数据

Layout:布局

Navigators:导航

Charts:图表

将组件拖动到页面中,组件就被添加到页面上了。


Flex Properties视图

选中组件后,Properties就会出现该组件的相应属性。

有Standard View,用来显示常用属性;有Category View,用来按分类显示所有属性。


代码模式

点击Source模式后,看到MXML代码。

无论你在MXML中创建应用程序还是用ActionScript直接编写代码,最终的一切都会是ActionScript。

<?xml version="1.0" encoding="utf-8">

所有的MXML文档都会以XML的一个DTD(Document Type Declaration,文档类型声明)开头。这意味着该文档将被检查,以确保其符合XML结构的规则。

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">

主应用程序,且只有主应用程序文件,必须以Application标签开头。

Application标签有一个名为xmlns的属性,它代表XML命名空间。它的作用是让我们能够用一个简短的名称来替代整个路径的输入。

在这个案例中,即ActionScript SDK所在的路径。但是SDK的路径是Adobe的网站?显然不是!虽然它看起来像是一个URL,但它实际上是一个内部命令,用来告诉编译器在哪里找到SDK。


代码提示

输入<,会提示mx命名空间下可使用的类文件列表。选择类文件后,按Enter键,建立标签。

然后按空格键。Flex Builder会显示一个与该类相关的属性列表。输入开头选中并按Enter键,Flex Builder会建立语法,只需要输入属性值即可。


Outline视图

这里可以清晰的看到容器和子容器的关系。

在Flex中设计的时候,用容器(container)的方式经行思考是非常重要的。


帮助文档

现在你需要知道有那些类可使用,这些类有那些重要的属性。这时候就需要帮助文档。

选中某个类,点击F1,会看到该类的帮助文档。

http://www.adobe.com/devnet-apps/flex/tourdeflex/web/


编译执行

Flex应用程序会在SWF文件中运行。根据谈话对象的不同,SWF代表小Web格式(small Web format)或者Shockwave格式(Shockwave format)。该文件是一个二进制文件。

唯一能读取这个二进制文件的是Flash Player。

客户端浏览器调用的HTML文件中包含了Flash Player可识别的标签,一但有这个标签,客户端浏览器会将参数传递给Flash Player,Flash Player就会去下载编译好的SWF并显示。

Flex Builder已经帮我们生成了包含有编译好的SWF的HTML文件。将bin-debug文件夹放到服务器上,浏览器就可以访问到了。

在项目上右键,点Properties,选择Flex Complier,在Additional complier arguments中添加"-keep-generated-actionscript",bin-debug文件夹就会显示出generated文件夹。里面是Flex编译器自动生成的代码。


第三章 ActionScript

Flex主要聚焦点是使用MXML。这允许我们使用简单的易于理解的标签编写复杂的ActionScript代码。不过,MXML虽然强大,但是我们还是要编写ActionScript代码。


区分OOP程序和过程式程序的是代码的拆分方式。过程式程序使用的是长序列的代码。

OOP程序则会把代码分成多个更小、更专业的单元。这些单元被称为类文件(class)。


类文件就是一个独立的程序,其中包含执行某个专门任务的全部变量和函数。

类文件就像一个个工作站,对数据执行一个专门的任务。这项任务可以是格式化数据、执行运算、把数据发送到不同的位置。

因为类文件是独立且专用的,所以我们可以随时在任意项目中使用它们。


类是对象(object)的基础或模板,对象是类文件存储在计算机内存中的一个临时副本。


从本质上讲,ActionScript 3.0和其他OOP编程环境一样,只是预建的类文件的一个大型集合。所有的OOP程序中的预建类文件的集合都叫做SDK。


在使用ActionScript3.0时,由于我们需要对特定的工作执行专门的任务,类文件的库可能会增大。

编写自己特有的类文件的能力叫做可扩展性(extensibility)。它以为着我们在扩展SDK的能力。

此外,我们可能会从各种来源下载其他的类文件。大家会发现,随着时间的推移,我们的编码工作会越来越少,对可用类文件及使用方法的研究则会越来越多。

代码工作的减少意味着更快的项目完成速度和更低的出错率。


所有类都附有两个潜在的编程构造:属性(property)和函数(function)。

属性就是附加到类文件的一个变量,函数就是一系列组合在一起的命令,用来执行某个可以根据需要进行调用的动作。

ActionScript3.0的文档提到了第三个构造,事件监听程序(event listener)。


版本兼容问题

ActionScript3.0在架构上与版本ActionScript1.0和ActionScript2.0有所不同,因此,就会有一些兼容性方面的问题。

在实际Flex或Flash应用程序时,我们常常会让一个SWF文件调用另一个SWF文件。我们还常常让一个SWF文件向另一个SWF文件传递信息。

3.0可以与1.0和2.0做简单交互,但无法读取函数和属性。


对象 就是类文件在内存中的一个副本。可以想成一个带有属性和函数的变量。在创建对象时,我们将其称为类文件的一个实例。因为它是在内存中,且内存中可以有多个对象,所以我们必须有一种标识它们的方法。我们把标识叫做对象引用。在MXML中叫做id。每个标签都有一个对应的ActionScript类文件。MXML和ActionScript是达到相同终点的两种方法。


用大括号包围,叫做数据绑定,是MXML中一个对象可以从另一个对象中请求数据的方法。


为了向已有的MXML文件添加自定义的ActionScript代码,我们需要使用一个叫做Script标签的MXML标签。在该标签中设置一个CDATA标签告诉编译器用不同的方法对待其内容。

DCATA对XML文件来说是常见的。它会表明其内有编程代码,不要把它的内容看成是XML文件的一部分。


如果把变量比作容器,而容器是用来专门存放特定类型的项,那么变量就应该也只存放某个特定类型的项。

它会为着我们要将变量指派给一个类文件。该类文件的属性和函数会告诉变量什么可以做、什么不可以做。


块注释,在MXML中和ActionScript中都可以使用:选中代码,按Ctrl+Shift+C。


trace()可用来在调试时,在控制台打印。


处理事件:

到此为止,只要一启动应用程序,所有代码都会运行起来。但很多时候,我们想 等某个事件(event)发生之后才执行一些代码。

事件可以是鼠标按钮的一次点击、一次按键、鼠标在某个对象上悬停、应用程序在加载。

所有事件必须有两个组成部分:事件监听程序(event listener)和事件处理程序(event handler)。

顾名思义,事件监听程序所做的事情就是监听某个事件的发生。

一旦事件发生,事件监听程序就需要让某个函数知道,该执行任务了,那个函数就是事件处理程序。


如果看ActionScript文档,就会发现,几乎所有类都有特定的一组事件。

在MXML中,我们可以通过内联处理程序(inline handler),处理事件。意味着,我们可以把处理程序嵌入到MXML标签中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值