深入浅出Flex4 移动应用组件的生命周期.docVIP

深入浅出Flex4 移动应用组件的生命周期.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
深入浅出Flex4 移动应用组件的生命周期

深入浅出Flex组件生命周期前言 Flex开发移动应用时,出于性能考虑,需要使用AS3编写组件Skin,而不是使用MXML。实际上,通过使用AS3编写组件皮肤,开发者可以更深入的了解Flex的组件生命周期,无论是对于移动应用开发还是传统的桌面或者Web应用开发,都大有裨益。 本文通过一个实例,来展示如何使用AS3开发一个Spark组件和对应的移动组件Skin,更重要的是解释与之相关的Spark组件生命周期知识。关于本系列文章 Spark架构的目的就是分离组件行为和可视化。在Spark框架中,组件的数据和逻辑行为由组件类负责,而可视化剥离到Skin中。组件和其Skin间维护一个所谓的“契约”。本文不具体解释Spark架构的基本概念,如果您不了解Spark的基础知识,可以参考Deepa姐姐的文章 “?Spark架构和组件集的简要概述 ”。 本文将为你揭示Spark架构背后的秘密。本文介绍的内容和例子是基于Flex4.5的移动架构上,但是其中关于Spark架构的介绍99%通用于非移动框架的Spark组件。为了更好的理解本文,建议您下载Flex4.5 SDK源码。 我们的终极目标 Flex移动应用中,最频繁使用的组件之一可能就是ponents.LabelItemRenderer和ponents.IconItemRenderer了。IconItemRenderer继承自LabelItemRenderer,而LabelItemRenderer扩展了UIComponent。 这里有一点问题。如果参看Adobe官方文档《Using Adobe Flex4.5》, 在“Create advanced Spark visual components in ActionScript”一章有如下描述: Create a skinnable component by creating a subclass of the SkinnableComponent class. A skinnable component uses two files: one for the component definition and one for the skin definition. Create a Spark skinnable component as a subclass of the SkinnableComponent class. Spark体系的Skinnable组件应该是继承自SkinnableComponent。每一个组件包含两个文件,一个是组件类(继承自SkinnableComponent),一个是皮肤类。很显然,IconItemRenderer和LabelItemRenderer都不属于SkinnableComponent,其弊端在于每次如果你需要深度定制ItemRenderer,都不得不扩展这两个类,覆盖其中相关方法。 Part1的目标是使用ActionScript创建一个真正Skinnable的ItemRenderer。为了简单起见,我们以LabelItermRenderer为例。开发Spark组件和mobile应用适用的Skin类的步骤 B车追上A车,需要一个步骤:电A车! 而创建Spark架构下Skinnable的组件需要两个主要步骤:创建负责数据和非可视化逻辑的组件类:该类将继承SkinnableComponent 。本例中需要额外两个接口mx.core.IDataRenderer和ponents.IItemRenderer,以便最终用于List的ItemRenderer。创建负责可视化的Skin类:由于我们的目标是为移动应用创建组件Skin,因此该类继承spark.skins.mobile.supportClasses.MobileSkin。最复杂的是把大象关进冰箱,具体方法超出本文讨论范畴。 创建Flex手机项目 启动FlashBuilder4.5,点击“文件-新建”创建“Flex手机项目”,如下图。 跟随向导选择手机操作系统和应用模板。本例中选择的模板是”基于视图的应用程序”。FlashBuilder将为我们创建空的手机应用项目,在本例中,我们最终所创建项目的项目结构如下: 创建Component类 创建继承SkinnableComponent,实现IDataRenderer和IItemRenderer的AS3类:MobileItemRenderer.as 在src目录下,创建路径为ponents的package。在该package下,通过菜单“新建-ActionScript Skinnable组件”创建Skinnable组件类。 在创建向导中(如下图),指定该类名为MobileItemRenderer。可以看到该类的

文档评论(0)

wyjy + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档