说明:本来以为这个视频教程内容整理是件很简单的事情,可是实际做起来才发现并不容易而且很耗费时间。精力所限,只做了下面简单的整理,请大家见谅。
Video 1.01: Introducing Flex and the Adobe Flash Platform
内容提要:
Adobe Flash Platform page上介绍了Adobe Flash平台上的众多工具和技术。
上图展示了Adobe Flash平台上的技术与工具,以及它们各自扮演的角色和作用。
上述三个工具均能编译SWF文件。该文件可以用Flash Player或AIR runtimes来渲染。
MXML和ActionScript都是编译型语言(不像JavaScript,是解释型语言)。浏览器可以直接解析JavaScript,但MXML和ActionScript必须先编译成SWF文件然后才能运行在Flash Player或AIR runtimes中。
Video 1.02: Incorporating Flex into the client/serverworld
内容提要:
Adobe Developer Connection’s Flex Developer Center:在这里开发者可以找到一些有用的资料。
典型的用服务器端技术为终端用户生成HTML的流程:
加入SWF文件后生成HTML的流程:
注意:HTML, JavaScript,CSS和Flex都是互为补充的技术,可以无缝地结合在一起。
这样做的优点:
Video 1.03: Exploring Flash Builder and Flash Player
内容提要:
Flash Builder 4.5:以前被称作Flex Builder,基于非盈利、开源的Eclipse开发平台和应用框架而开发,是Adobe开发的商业软件(commercial product),使用Flex framework来构建Flash应用。它既可单独安装,也可作为Eclipse的插件。
Flash Builder有一些不错的特性:
Flash Builder的4个版本:
Video 1.04: Using Flash Builder
内容提要:
学习这一部分内容最好的方法就是照着视频中的指示一步一步地亲自实践一遍,然后就很容易上手了。读文字解说反而不如视频来得直观和容易理解。
Flash Builder中常用界面元素的名称:
Flash Builder中常用操作总结:
Flex MXML的注释:
和HTML注释类似:以尖括号开始,后面跟一个感叹号和两个破折号,然后以两个破折号和一个尖括号结束(<!-- -->)
ActionScript的注释:
双斜线//
一些编码风格:
Video 1.05: Compiling and viewing the application
内容提要:
在视频中会提到Flash Builder开发环境中的一些窗体、视图或者控件的专用名称。这里仍然建议浏览一下本视频,以更好地了解Flash Builder中的操作。
点击工具栏中的“运行(Run)”按钮,可以使项目应用运行在浏览器中(实质是SWF文件在运行)。Flash Builder通常会调用电脑上的默认浏览器,当然也可以在Window > Preferences> General > Web Browser中进行修改。
在Flex的项目中,有一个值得注意的文件夹,名叫bin-debug。我们在浏览器中运行Flex项目时,URL所指的html文件以及实质运行的编译后的SWF文件都存放在这里。
根据需要,我们可以打开Project >Properties > Flex Compiler对Flex的编译器进行设置,主要包括以下四个部分:
bin-debug中的html实质是一个HTML wrapper,它实现了一个名叫swfobject的JavaScript类库。该类库的作用是抽象出Flash Player检测和SWF嵌入等具体实现细节。这个html中还有嵌入SWF文件的代码,是由Flash Builder自动生成的。
bin-debug中还有一些SWF文件,它们的文件名结尾处有一些Flex框架版本号,它们是与用运行时共享类库(runtime sharedlibraries or RSLs)实现Flex框架相关的。因为不同的Flex应用用到Flex框架的不同类,如果把所有Flex框架的类都下载下来就太浪费带宽了,所以采用运行时共享类库解决这个问题。打开Project >Properties > Flex Build Path,我们可以看到缺省的选择就是Use SDK default(runtime share library)。
另外提示几个在编译时有用的操作:
Video 1.06: Understanding namespaces
MXML是一个基于XML的描述型语言,在Flex框架中主要用于可视化布局。因此MXML文件的第一行就是XML声明语句。
注意:XML声明语句必须是放置在文件第一行,并且前面不能有任何字符(包括空格也不行)。
MXML文件第二个元素是Application标签,所有MXML应用文件都需要有这个标签。xmlns属性是XML中的一个保留属性,用于声明命名空间,它在Application标签中定义与Flex框架中类库相关的命名空间。
xmlns的冒号后面是它的值,在MXML中是命名空间的前缀,如:fx,s和mx。
其中
如果有可能的话,应当尽量使用spark中的组件,而少用mx的组件。具体理由在今后的视频中可以了解到。
Video 1.07: Introducing Flex components and controls
内容提要:
Flex UI组件(Flex UI components)包括:
我们可以同时使用Spark和MX组件,因为它们都继承自同一个父类UIComponent。当然,如果同样能实现一个功能的话,那么推荐优先使用Spark组件。
MX组件也叫做Halo组件,是Flex3中提供的UI元素。每一个MX组件都同时包含用于定义行为、布局、样式和皮肤的逻辑。
Spark组件是Flex4中提供的,它被设计成将行为、布局、样式以及皮肤分离到不同的类中。
注意:并非所有MXML组件都是可见的,不可见的组件必须在<fx:Declarations></fx:Declarations >中声明。
Video 1.08: Laying out a form in Flash Builder Designmode
内容提要:
主要是介绍设计模式的使用方法,简单看下视频,一学就会,主要是一些控件的拖拽。
Video 1.09: Introducing styling and skinning
css的设计方法和一般web开发中思路一样,这里就不多说了。一般源码包中缺省都有Styles.css文件。可以在其中编写样式,然后应用到相应的控件中。
Flex中如果要修改控件的显示效果(look and feel),除了用css样式之外,还可以使用皮肤。
如果要创建一个皮肤,它需要基于一个名叫SparkSkin的Flex框架类。一般的控件至少有两种状态:正常状态(normal state)和不可用状态(disabled state)。对于按钮这种控件,还有向上弹起(up)、向下按压(down)、从上方掠过(over)等状态。
Flex的皮肤设置一般放在名字类似为AppSkin.mxml这样的文件。具体制作方法可以参见视频。
改变主题的方法:
切换到设计模式(Design mode),选择外观视图(Appearance tab),上面有个当前主题,旁边的超链接点击打开,我们可以在该窗口下选择其他的主题应用到项目中。
Video 1.10: Understanding data binding
内容提要:
这里所指的数据绑定简言之就是将数据与UI组件的显示内容关联起来。视频中给出的例子就是设置一个属性监视输入框1的数据变化,如果发生变化,则即时将输入框1中的数据显示到输入框2中。
Video 1.11: Requesting and retrieving XML data from theserver
内容提要:
Flex中获取数据的三种方式:
数据的获取往往涉及事件,事件的触发有两种情况:
Video 1.12: Laying out components in containers
内容提要:
Flex中的布局管理(Spark):
Video 1.13: Adding scrollbars
内容提要:
视口指的是可视区域,所有视口之外的部分对用户而言都是不可见的。
具体添加滚动条的方法可以参见视频的示例。
Video 1.14: Implementing object-oriented programmingconcepts in Flex
内容提要:
面向对象(OO)实质是对真实世界的建模,包括以下四个重要概念:
其中属性和方法都叫做类成员(class members)。
ActionScript属于面向对象语言,它只支持单继承。它的访问修饰符(access modifiers)有四种:
MXML tags实质是ActionScript类。.mxml中的组件继承自spark.components.Group。
实例化一个自定义的MXML组件的方法:
在MXML自定义组件中创建类属性的方法: