欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

SharedObject 博客分类: Flex flex sharedobject 

程序员文章站 2024-03-17 09:36:34
...

共享对象可以简单理解为类似浏览器的cookies,可以将一定的信息保存在本地。共享对象有两种:本地和远程。本地表示用户将信息保存到本地硬盘里,远程表示每个用户都可以将信息保存到服务器端。默认情况下,共享对象的最大文件大小事100kb。要使用远程共享对象需要在服务器端安装Flash Media server(FMS)或RED5服务器程序。FMS是Adobe推出的音视频服务器,是收费产品;RED5是开源项目程序。

共享对象存储的位置:“系统盘:\Documents and Settings\ 用户名\Application Data\Macromedia\Flash Player\#SharedObjects\随机目录\localhost(如果是本机测试的话)\工程所在目录”。你会找到一个偶追为sol的文件。如果看不到Application Data这个目录,打开文件夹选项。在“查看”选项卡中把“隐藏受保护的操作系统文件”的勾去掉,再选中“选择显示所有文件和文件夹”选项。

 

共享对象步骤(只只对于本地)如下。

 

1.创建SharedObject

 

private var myLocalSharedObject:SharedObject = SharedObject.getLocal("mySo");
 

创建SharedObject一般只会用到getLocal方法的第一个参数来设置共享对象的名称。当需要多个应用使用同一个共享对象时,会用到第二个参数来设置存储路径。例如

 

private var myLocalSharedObject:SharedObject = SharedObject.getLocal("mySo","/");
 

如果其他应用要使用该对象,使用:

 

var so:SharedObject = SharedObject.getLocal("mySo","/");
 

 

2.存数据

mySo.data.myData = 数据;

myData给共享对象的data属性添加动态属性。

 

3.保存共享对象

一般创建共享对象后当关闭该程序时会自动保存,也可以使用flush()方法来保存。用flush的情况:分配文件大小;捕捉成功或出错信息。推荐使用flush()方法。

 

var flushStatus:string = null;
flushStatus = mySo.flush(5000);
 

 

4.读取共享对象

 

var mySo:SharedObject = SharedObject.getLocal("SharedObject");
 

一般先判断是否存在,如果不存在,则先写入,在flush,如:

 

if(mySo.data.someData == undefined){
	mySo.data.someData = sampleData;
	mySo.flush();
}
 

如果存在,则直接使用mySo.data.someData

 

5.删除共享对象

 

delete mySo.data.someData;	//删除属性
mySo.clear();	//删除整个对象
 

 

 

 

 

 

 

相关标签: flex sharedobject