Flex 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("用户允许增加磁盘空间");
}
}
posted @ 2012-02-28 11:46  龙鸣  阅读(256)  评论(0编辑  收藏  举报