About

<#TEMPLATE_INCLUDE_NINEPAGE_ABOUTME#>
  • Nov

    20

    本地共享存储 SharedObject 类默认路径:

    WINDOWS XP

    C:\Documents and Settings\计算机用户名\Application Data\Macromedia\Flash Player\#SharedObjects\随机文件名\localhost

     WINDOWS 7 

    C:\Users\计算机用户名\AppData\Roaming\Macromedia\Flash Player\#SharedObjects\随机文件名\localhost

     小心它有一个“陷井”:与普通文件名不一样的是,SharedObject 类 getLocal() 方法中name参数除不能使用 ~ % & \ ; : " ' , < > ? # 这些字符外,它还不能使用“空格”字符;但它可以合法的包含正斜杠 (/)。

    Oct

    19

    SharedObject  的 data 属性默认只能保存原始对象,如字符串、数组、数字、布尔值、二进制对象、XML,等等。如果要保存 ArrayCollection 或自定义对象就需要利用一些其它类的实现。由于原始对象数组本身可以包含任何数据类型,所以当数组中也包含了 ArrayCollection  或自定义对象时,也需要利用其它一些类的实现。

    一个普通的包含原始对象字符串或数字等数据的 ArrayCollection  直接通过 ByteArray 的 writeObject方法先转换成二进制再保存。

    var bytes : ByteArray = new ByteArray(); 
    bytes.writeObject(arrayCollection); 
    var sharedObject : SharedObject = SharedObject('myAC'); 
    sharedObject.data.ac  = bytes;

    当取需要回该 ArrayCollection  对象时:

    var ac : ArrayCollection = (SharedObject('myAC').data.ac as 
    ByteArray).readObject() as ArrayCollection;

    如果数组或集合中包含了自定义对象,那么在将它们转换成二进制序列化对象之前,还需要先使用 registerClassAlias() 方法对类进行别名注册。