当前位置: 代码迷 >> Web前端 >> SharedObject的运用
  详细解决方案

SharedObject的运用

热度:160   发布时间:2012-11-16 14:12:14.0
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("用户允许增加磁盘空间");
	}
}