易截截图软件、单文件、免安装、纯绿色、仅160KB

Flex Framework Fundamentals

转自:http://www.cnblogs.com/sharplife/archive/2007/09/03/880641.html
最近看时学习Flex应用,开始对Flex和Flash的关系有些模糊,读了Oreilly的Programming Flex
2才算是明白些,现记下。
1、Flex应用程序的生命周期
Flex应用就其根本上讲就是Flash应用,只不过其是基于Flex
Framework(由ActionScript写就)开发的。Flex应用程序的根对象的是SystemManager(不是我们在flex应用上看到的Application根元素),继承自flash.dispaly.MovieClip—flash
player display type,MovieClip是一种支持timeline基本元素帧frame的对象,在Flex
Framework中SystemManager是特殊的,含有两帧(其他component都是一帧的),分别是preloader和真正的Application,preloader帧可以迅速下载下来并用于显示应用下载进度,一旦Flex应用的SystemManager实例进入第二帧,将创建Flex主应用application实例并赋予本身的属性application(在进入第二帧之前是null),自此application(flex主应用)的内部生命周期、事件开始运作:
preinitialize:application已经实例化但尚未创建任何child
component
initialize:已经创建child component但对其进行布局(lay
out)
creationComplete:application已经完成实例化并完成所有child
component的布局
SystemManager有一个topLevelSystemManager对象,指向一个SystemManager实例,是所有当前在flash
player运行的任何东西的根(root),如果flex被作为主应用加载到flash
player则上述属性将指向其本身(self-refrencing),但当flex应用是被另一flex应用载入的,其自身的SystmenManager的topLevelSystemManager属性则不是自引用了,而是指向其父应用的SystemManager实例。所有UIComponent的子类都有一个systemManager属性指向应用的SystemManager实例,在被SystemManger实例监听的component的事件发生冒泡时,其将拥有事件处理链上最后的处理权。
2、Flash palyer和Framwork的区别
Flash
player是Flex应用和flash应用的运行环境,两应用对其拥有完全平等的操作权(通过Flash
player提供的API),两应用形成的.swf文件在flash
player中是同样的表现,不同的不是应用的内容而是其各自的创建方式。Flex的Framework在开发和运行之间为应用提供了一层抽象,Flex应用编译时会将必要的framwork
library编译进.swf文件(同样影响应用文件的大小等),主要的flash player class当然不会被编译到


相关文档:

在Flex中用Iframe嵌入HTML网页


有时候我们需要在Flex应用中嵌入HTML代码,根据嵌入HTML要求的不同有以下三种方法:
1、Flex文本组件(Label、Text、TextArea)的htmlText属性支持一些基本的HTML代码,例如:
<mx:TextArea>
<mx:htmlText>
<!--[CDATA[
<p align="center"><font size="15" color="#3399ff"> ......

Flex天气服务


Flex调用远程天气服务
Flex提供天气服务
2010 年 01 月 08 日
使用Flex调用远端天气服务,从而提供可定制的天气服务。
获取远端天气服务API,关于天气内容一般是以xml形式提供。
调整界面布局
使用Flex的WebService组件调用远端天气服务接口
下载源码
......

Flex开发:点对象添加与线对象的关系失败

  经过反复的调试跟踪,在cairngorm框架不能地控制数据更新操作的触发顺序,无法保证同时读取“模型”层的点类(equip)、线类(link)实例对象的数据。
  看来,只能在控制mxml控件中对控件进行控制了。 ......

Flex读取外部XML中文乱码解决办法

用URLLoader加载XML,然后将data转化为ByteArray
用byteArray.readMultiByte(bytes.length,"utf-8")
然后将转化后的字符串再强制转化为XML
var loader:URLLoader = new URLLoader();
loader.dataFormat = URLLoaderDataFormat.Binary;
var urlRequest:URLRequest = new URLRequest(source);
loader.addEventListener( ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号