zoukankan      html  css  js  c++  java
  • 把自定义类实例存储到LSO

    使用flash.net.registerClassAlias( )方法保留类型信息并把类实例添加到共享对象的data属性上。

    LSOs 使用特殊的二进制格式,Action Message Format (AMF),当要在LSO中存储类实例时,实例会被编码为包含属性的普通的object。这样当重新从共享对象中读取实例时,已经不是原来的类实例了,因为已不能根据类型信息解码回来。

    下面的例子完整实现了类实例的保存,首先创建自定义类:

    package model 
    {
          public class Person 
         {
                 private var _firstName:String;
                 private var _age:int;
                 public function Person(firstName:String, age:int) 
                {
                        _firstName = firstName;
                        _age = age;
                 }
                 public function toString( ):String 
                {
                       return _firstName + " is " + _age + " years old";
                }
           }
    }
        

    接着,编写主类读取和写入数据

    package 
    {   
    import flash.net.registerClassAlias;   import flash.net.SharedObject;   import model.Person;   public class Example
      {     
    public function Example( )
        {
          registerClassAlias( "model.Person", Person );       var example:SharedObject = SharedObject.getLocal( "example" );       if ( example.data.person == undefined )
           {         trace(
    "first time, saving person instance" );         var person:Person = new Person("Darron", 24);         example.data.person = person;        } else {         trace( "person instance already saved, using stored values" );        }       trace( example.data.person.toString( ) );
        }
      } }

    这里需要注意的是registerClassAlias( )必须在SharedObject.getLocal( )方法之前调用才有效。否则的话共享对象会把Person解释为普通的object类型进行存储。

  • 相关阅读:
    基于opencv网络摄像头在ubuntu下的视频获取
    VHDL学习札记:library and Package
    HLS入门收集(1)
    Windows下zlib库和libPng库的编译和使用
    FPGA培训体会 江苏大学 自动化 许一航
    FPGA学习体会
    FPGA培训体会
    2016年上海V3学院寒假班FPGA/SOC培训收获
    上海V3学院FPGA培训感想 ——重庆理工大学叶钧
    上海招聘FPGA讲师(专兼职均可)
  • 原文地址:https://www.cnblogs.com/ddw1997/p/3669413.html
Copyright © 2011-2022 走看看