» 阅读全文
[置顶]《Flex第一步》错误汇总
walktree 发表于 2007-12-06, 8:54 AM
Tags: Flex第一步勘误
Flex第一步 -- 已经上市
walktree 发表于 2007-11-22, 4:36 AM
翻译:理解Flex程序的运行机制
walktree 发表于 2007-11-13, 1:21 PM
此文是我翻译自OReilly出版的 Programming Flex 2 中部分章节,略有修改.
从某种程度上说,即使一点也不了解Flex程序的运行机制,也并不妨碍我们开发Flex程序。不过,弄清楚那些基本的结构还是非常有好处的,起码可以知道它的内部是怎么工作的。这会帮助我们实现一些有趣的功能,比如个性化预加载条,在运行期间加载其它的Flex程序,管理运行期间库元件的加载和卸载等等。更远的方面,理解Flex程序的运行可以帮助完善程序,因为我们将知道如何去优化代码。比如,如果想确定哪些代码是在预加载期间执行的,就得知道如何去捕捉这些事件。
每个Flex程序都是从SystemManager开始的,它是flash.display.MovieClip的子类,一个可视的数据类型,MovieClip支持时间轴。SystemManager有两桢。Flex程序的第一桢用来显示一个下载进度条。这一桢应该尽量使用少量的元素,避免文件尺寸过大,使得可以被快速下载,这时候,Flex框架还有大部分没有加载,只有一些核心的类库被加载,加载结束后,进入第二桢。直到第二桢,程序才完全加载进来,包括程序中使用的Flex框架中的大部分类库。如果我们要个性化预加载条,就得先了解SystemManager的工作流程。
一旦程序中SystemManager的实例进入第二桢,它将创建主程序类的一个实例。SystemManager实例有个属性“application”,初识值为null,直到此时才被指向主程序实例。然后,主程序的实例开始自身的初始化。这时,依次触发了主程序的内部事件: preinitialize 表示程序被初始化了但还没有开始创建任何子对象. initialize 程序创建了子对象但这些子对象还没有调整好布局 creationComplete 程序完成了初始化,并绘制好了所有子对象。
主程序完成了这一切后,抛出applicationComplete 事件,并告诉SystemManager :一切准备完毕,可以开始运行了. SystemManager也负责管理所有位于程序显示层次最顶层的对象,包括所有的pop up(弹出窗口),cursors(鼠标样式),和tool tips(鼠标提示)都位于SystemManager实例中。 SystemManager的属性“topLevelSystemManager”,代表当前运行在Flash Player中的根元素。在Flex程序中,这个属性总是指向SystemManager实例自身。当一个Flex程序被加载到另一个Flex程序中时,被加载的程序也会拥有自己的SystemManager,但这时候它的topLevelSystemManager属性就会指向主程序的SystemManager对象。 一般情况下,我们并不需要去使用SystemManager对象,但如果想使用它,也是非常容易的,所有UIComponents的子类(包括Application)都有一个“systemManager”属性,指向当前的SystemManager对象。 在实际开发中,我们可能会使用SystemManager去侦听程序中任何一个可视对象的事件,因为事件冒泡机制告诉我们,冒泡阶段的最后一个对象总是SystemManager。
接下来的内容是:加载另一Flex程序,待续
Flex 2降价了
walktree 发表于 2007-11-08, 1:18 AM
http://weblogs.macromedia.com/flexteam/archives/2007/11/flex_builder_2.cfm
The new pricing for Flex Builder is: Flex Builder 2 – US $249 (reduced from $499) and Flex Builder 2 with Charting – US $699 (reduced from $749). Regional pricing will align with these new lower US prices.
看来Adobe要加大力度推广flex啊
Flex 第一步 即将上市
walktree 发表于 2007-11-07, 5:47 AM
书名: Flex第一步 ISBN:9787302162568
这是国内第一本Flex开发的书 作者:邱彦林 (第1-15章) 王磊(第16、17章)
全书共分为17章。内容包括:Flex简介、Flex的安装和开发环境的建立、MXML 语法简介、使用容器控制界面布局、使用组件处理数据和交互、使用行为对象和动画效果、ActionScript 3.0编程知识、Flex的事件机制、数据绑定、组件的使用、Flex 2.0新特性实例开发、Flex与外部的数据通信、Flex程序设计等。 书中包括四个大型应用开发实例:Flex数据库留言本、Flex产品展示系统、Flex投票系统、Flex天气预报系统。除此之外,书中还贯穿了大量Demo级小例子,让技术不再抽象,帮你快速掌握Flex开发的关键。
目录下载:http://www.flex9.cn/book/catalog.pdf 样章下载: 第二章:Flex的安装和开发环境的建立 第六章: 使用行为对象和动画效果 第十三章:Flex程序设计
本书的另一作者:王磊,微软认证解决方案专家(MCSD,这也是整个微软认证应用开发体系中等级最高的一个认证)。毕业于哈尔滨理工大学计算机与科学技术系。在学校期间参与过计算机与控制学院网站、哈尔滨理工大学网站、哈尔滨理工大学BBS、就业中心网站的建设。曾任校计算机协会会长、策划并主持过商业网站的运营。毕业后在大连一家知名外企工作并任项目支持经理一职,在职期间主持并参与过“交互式语音应答系统”、“商业业务智能生成平台”、“医疗保险实时管理解决方案”等大型项目的开发。精通Java、.NET、服务器端开发,以及便携设备(手持设备)的开发。曾在日本出差一年,学习国外先进的管理方式和开发理念,在此期间接触到了Flex。自Flex 1.0时代就开始了Flex的研究,在Flex 1.5时代曾开发过国内当时仅有的一个Flex版本的Blog,有近四年的Flex开发经验。
这里是他的联系方式 Email:fxblog@gmail.com URL:http://www.k-zone.cn/zblog
更多详细信息请看这里:http://flex9.cn/
最新消息:
AS2中的字符串替换--大小写敏感
walktree 发表于 2007-11-06, 7:51 AM
今天写代码时,写了这个函数,觉得还挺有用的
function replaceStr(s,oldChr,newChr,NoCase){ if(NoCase == undefined){ s = s.split(oldChr).join(newChr); return s; } var newStr = s; var len = oldChr.length; oldChr = oldChr.toLowerCase(); s = s.toLowerCase(); var pos = s.indexOf(oldChr) ; while( pos != -1){ newStr = newStr.substr(0,pos) + newChr + newStr.substr(pos+len); s = s.substr(0,pos) + newChr + s.substr(pos+len); pos = s.indexOf(oldChr) ; } return newStr; }</p> <p>var str = "erter www WwW rter wwW ert";</p> <p>trace(replaceStr(str,"www","***"));</p> <p>trace(replaceStr(str,"www","***",1));
昨晚去看了周云篷的演出
walktree 发表于 2007-10-29, 5:47 AM
使用as插入CDATA
walktree 发表于 2007-10-24, 5:20 AM
在COOKBOOK上看到一个小技巧,觉得以后应该用的上,先记下来 www.adobe.com/cfusion/communityengine/index.cfm?event=showdetails&productId=2&postId=6142
function cdata(theURL:String):XML { var x:XML = new XML("<![CDATA[" + theURL "]]>"); return x; }</p> <the_url>{cdata("http://some.com?var=someval&foo=bar")}</the_url>
在linux下安装red5可能会遇到的问题
walktree 发表于 2007-10-24, 1:57 AM
1、jdk的设置 有些系统自带安装了java,但可能仅仅是装了 jre,而没有安装编译环境
最好检测java,javac,java-version等命令,还有就是JAVA_HOME命令,在red5的编译过程中,使用了这个变量,必须设置。
2、ant的设置 我就是因为ant的设置,导致总是无法编译成功。最好是不要使用系统安装的版本,手动安装最放心。安装了一定要设置ANT_HOME环境变量
3、编译red5 0.6.3后,使用ant server命令编译会出错,这个也是我惨痛的经验。
总结,jdk,ant手动安装是最好的方法,有时对linux的软件安装路径搞不懂。
whereis是个有用的命令,可以将当前路径下的程序都找出来,比如: whereis java 就可以将jdk的所有路径找到
一个听音乐的好去处
walktree 发表于 2007-10-18, 12:50 AM
http://cn.last.fm/
全部是国外的音乐,什么风格的都有。安装了last.fm的软件后,不用打开网页就可以听。使用非常方便,收集非常广



