as学习笔记(四)--sharedobject
sshong 发表于2007年5月26日 17:55:00 更新于2008年3月21日 19:30:00
sharedobject用来保存数据,有两种类型,一种是在数据保存sol在本地,类似于cookies,一种是保存fso文件在服务器,多个用户可以订阅同一个fso,这样当有更改时,所有用户都会得到通知,可以编程来响应这个通知。
一、本地soj:对于保存在本地的sol,利用getLocal () 来定义一个sharedobject ,如var so:SharedObject = SharedObject.getLocal("savedData"); 该函数在sharedobject类是一个静态函数,所以可以直接用类名shardobject调用,其定义是public static function getLocal(name:String, localPath:String = null, secure:Boolean = false):SharedObject

二、远程rso:对于保存在服务器的fso,利用getremote()来定义一个sharedobject,并且用myrso.connect()(myrso是一个shareobj的实例) 连接到某一个netconnetion以连接到服务器,如
     var myNC:NetConnection = new NetConnection();
     myNC.connect("rtmp://[yourDomain].com/applicationName");
     var myRemoteSO:SharedObject = SharedObject.getRemote("mo", myNC.uri, false);
     myRemoteSO.connect(myNC);
getremote()的定义是getRemote () method
public static function getRemote(name:String, remotePath:String = null, persistence:Object = false, secure:Boolean = false):SharedObject

三、设置协议:对于保存在服务器端的rso必须注意AMF的版本,因为要保存数据到服务器,则程序与服务器必须有连接,这个连接的协议就是AMF,同前一篇日志所讲,可以单独或全局设置这个版本。
SharedObject.defaultObjectEncoding =ObjectEncoding.AMF0

myrso.ObjectEncoding=ObjectEncoding.AMF0

四、写数据:当以上准备工作都定义好后,就可以写数据到文件中了,利用
myrso.data.**(**是属性名)=somevar(注意不能直接赋值给data属性,即myrso.data="sshong"或者somevar是无效的;如果要删除某个属性值,可以用 delete so.data.attributeName,把这个属性值设置为null或者undefined均无效)

五、保存:对本地而言直接显式的用myrso.flush()或者当调用myrso.clear() or myrso.close()自动调用或者程序对该soj已经没有任何引用被垃圾收集器收集到时均会保存数据.
标签:无分类:As3&Flex阅读:3454
评论
暂无评论
添加评论
您的大名,限长10汉字,20英文(*)
电子信箱(*)
您的网站
正文,限长500汉字,1000英文(*)
验证码(*) 单击刷新验证码
联系我
博客订阅