`

flex RSL做资源共享管理

    博客分类:
  • flex
阅读更多

Flex SDK 里有一个运行时组件共享库——RSL ( Runtime Shared Library ),应该也差不多是对SWC的管理吧,作用就是使同域里的项目可共享资源,这样可以节省项目的档案大小,易切割、易搬运、易分享组件库项目与组件库可分开开发
如下图所示:

     所以,当我在开发项目时,一些常用的数据、函式、类别、接口...等都可以归纳整理,然后编译成RSL,下次开发的时候,直接在项目设定里加入RSL( Add SWC )就可以了,有点像是自己的知识管理吧。另外,还可以拿来作图库的管理。通常我们在写Flex时,UI都可以加上一些Icon、CSS定义等,一般来说,都会直接这么写:

mxml 代码
  1. // embed 资源文件   
  2. [Embed(source="../../../../assets/img/png/sample.png")]   
  3. [Bindable] //设定为Bindable   
  4. private var myIcon:Class   
  5. // 嵌入
  6. <mx:button icon="{myIcon}">〈mx:Button icon="{myIcon}"〉</mx:button>

        可是这样有一点麻烦,就是必须非常地了解整个文件结构,尤其是开发个别的UI时,会因为UI的package位置不同,Embed(source="......") 里的叙述也会跟着不同,常常会需要辛苦地找出正确的相对路径( relative path )。但是有了RSL之后,就可以把这些常用的icon图或其它资源编译成一个SWC,并集中管理,不用在因为UI的归类而改变。制作的方法如下:
》首先,建立一个Flex Library Project;
》把你需要包含的资源文件归档放到相应目录下;
》编写资源类将相应资源嵌入系统,代码如下:
  as 代码

  1. package cn.swingchen.resource   
  2. {   
  3. import flash.display.Sprite;   
  4. /**  
  5.  * @author swingchen  
  6.  */  
  7. [Bindable]   
  8. public class ResourceRef extends Sprite   
  9. {   
  10.     [Embed(source="../../../assets/icon/accept.png")]   
  11.     public var iconAccept:Class;   
  12.        
  13.     [Embed(source="../../../assets/icon/add.png")]   
  14.     public var iconAdd:Class;   
  15.        
  16.     [Embed(source="../../../assets/sound/message.mp3")]   
  17.     public var soundMessage:Class;   
  18. }   
  19. }  

》然后将该工程编译出swc组件文件;
》最后在需要的地方引用该资源文件,代码如下:
mxml 代码
  1. import cn.swingchen.resource.ResourceRef   
  2. [Bindable]   
  3. private var resource:ResourceRef= new ResourceRef(); // 实体化资源类别   
  4. //然后就可以直接嵌入了, 不需要管图文件的位置了, 都交给RSL去烦恼就好!   
  5. 〈mx:Button icon="{resource.iconAccept}"〉

   这样在项目中资源文件与使用的地方可以分离开来,不仅开发的代码清楚些,而且在同一资源多处引用情况下,对最终总体文件大小也会减小
分享到:
评论

相关推荐

    避免Flex RSL重复load 提高module加载性能的swc

    避免Flex RSL重复load 提高module加载性能的swc

    Flex与ActionScript3程序开发

    目录: 第1篇 基础知识篇 第1章 走进Flex世界 第2章 Flex基础知识 ... 第18章 RSL运行时共享库 第5篇 Flex通信篇 第19章 与JavaScript/AJAX通信 第20章 Flex与PHP通信 第21章 Flex与Java EE通信

    MiniCore:这是有关flex RSL的微型核心。-开源

    Mini Core是Flex ActionScript中的RSL。 我们将其从旧的代码站点中移出:code.google.com/mini_core。 因此,自2013年9月10日起已弃用上述网站。

    OTIS-RSL串行协议

    Remote Serial Link (RSL) Protocol Interface Standard

    OTIS-RSL远程串行接口协议标准大全.PDF

    OTIS-RSL远程串行接口协议标准大全.PDF

    OTIS-RSL串行协议-中文版

    OTIS-RSL串行协议-中文版。 文档描述了远程串行接口协议标准在奥地斯电梯系统中的应用,该文档在使 用远程串行接口协议标准进行通讯的建模过程提供了参考。对于多个模块的标准 接口定义有参考作用,但是获取不了有些...

    RSL类库文件及说明文档

    RSL类库文件及说明文档

    FLEX企业应用开发实战.part1

    本人从其他网站上下载的,333页全,看到CSDN上没有完整的版本,所以共享一下。由于文件比较大,压缩成了两个文件上传。 第1章 Flex企业应用开发入门  1.1 B/S企业应用开发者的噩梦  1.2 噩梦结束,新时代来临 ...

    FLEX企业应用开发实战.part2

    本人从其他网站上下载的,333页全,看到CSDN上没有完整的版本,所以共享一下。由于文件比较大,所以压缩成了两个文件上传。 第1章 Flex企业应用开发入门  1.1 B/S企业应用开发者的噩梦  1.2 噩梦结束,新时代...

    FLEX面试题

    1.我不想在容器里显示滚动条怎么办?  答:指定horizontalScrollPolicy和...Flex Project、 AS Project 和Flex Library Project。    3.你了解RSL嘛?请说明下RSL的使用方法,以及使用RSL为了解决什么问题?

    RSL10-SENSE-DB-GEVB_GERBER_hardware_rsl10_castcpf_

    RSL10-SENSE-DB-GEVB_GERBER

    OTIS-RSL串行协议-中文版.pdf

    OTIS-RSL串行协议-中文版。 文档描述了远程串行接口协议标准在奥地斯电梯系统中的应用,该文档在使 用远程串行接口协议标准进行通讯的建模过程提供了参考。对于多个模块的标准 接口定义有参考作用,但是获取不了...

    RSL10 射频测试资源

    RSL10 射频测试,使用到的RF Tool以及DUT端固件以及源码

    RSL5K_V19.00_Core

    RSL5K_V19.00_Core 用于程序开发,编程。

    Flex企业应用开发实战源代码

    3.5 Flex编译模式、链接模式与RSL 109 3.5.1 使用系统RSL—Framework 110 3.5.2 其他的系统RSL 111 3.5.3 RSL的摘要 112 3.5.4 使用私有RSL 113 3.6 小结 114 第4章 Flex on Java企业应用架构 115 4.1 分布式...

    RSL FOTA 软件安装包 安卓xapk格式

    一个简单的应用程序,用于演示 onsemi RSL10/RSL15 蓝牙低功耗设备的无线固件 (FOTA)。 RSL10 和 RSL15 是来自 onsemi 的超低功耗蓝牙低功耗无线微控制器。 FOTA 应用程序充当中央设备来扫描、连接固件映像并将其...

    AB PLC RSL5KV11_V12_13-17.rar

    AB PLC RSL5KV11_V12_13-17rar,AB PLC RSL5KV11_V12_13-17

    rsl.rar_RSL Matlab_attribute reduction_rsl

    他是C语言写的程序集包含了属性约减、属性值约减等诸多算法

    施耐德继电器Zelio Relay RSL薄片式.pdf

    施耐德继电器Zelio Relay RSL薄片式pdf,施耐德继电器Zelio Relay RSL薄片式:RSL 薄片式继电器拥有紧凑的外观和模块化设计的优点:纤薄的宽度(6mm)在控制柜导轨上安装时节省了空间。

    RSL10蓝牙单芯片(SoC) 安森美半导体.pdf

    RSL10蓝牙单芯片(SoC) 安森美半导体.pdf

Global site tag (gtag.js) - Google Analytics