SharedObject的使用
var iso:SharedObject = SharedObject.getLocal("userInfo"); iso.data.name = "hsys"; iso.data.age=24; iso.flush();
首页定义SharedObject对象,getLocal获取一个SharedObject对象,getLocal的参数可以随便定义,数据都是存在SharedObject的data属性中,name和age也是自己随便定义的属性,可以是基本数据类型也可以是自定义的复杂数据类型,数据设置完成后要flush,否则数据不会马上保存到SharedObject中,要等到关闭了application之后才保存
读取SharedObject
var user:SharedObject = SharedObject.getLocal("userInfo"); Alert.show(user.data.name);
当SharedObject大小超过了用户允许的大小,那么就会自动弹出flash player 设置窗口提示用户是否允许扩大存储大小,如果用户点击了允许,可以通过flush(size)设置客户端的存储大小。
var iso:SharedObject = SharedObject.getLocal("userInfo"); var flushStatus:String = iso.flush(102400); //在可以刷新之前,提示用户增加共享对象的磁盘空间 if(flushStatus == SharedObjectFlushStatus.PENDING){ iso.addEventListener(NetStatusEvent.NET_STATUS,sharedObjectChange); }else{ }
貌似一定要定义flush的返回值,flush的参数单位为字节1024=1K。
NetStatusEvent监听用户是否允许增加磁盘空间
private function sharedObjectChange(e:NetStatusEvent):void{ if(e.info.code == "SharedObject.Flush.Failed"){ Alert.show("用户拒绝增加磁盘空间"); }else if(e.info.code == "SharedObject.Flush.Success"){ Alert.show("用户允许增加磁盘空间"); } }