Local Share Object中存储自定义数据类型

登陆时一些用户信息需要保存在client端,准备放在shareObject里,就找了dev guide,稍作了些整理。

1 获取LSO对象
var lso:ShareObject = ShareObject.getLocal("userInfo");
*每个lso对象都会有一个后缀名为sol的文件与其对应,上面的代码将会产生一个userInfo.sol,可以同时建立多个lso,也就会生成多个文件。

2 操作其中的属性

LSO数据是放在data属性中,采用KEY/VALUE键值对方式存储(lso.data.key = value;)
如lso.data.name = "abc" ; var url:String = lso.data.String .
如果是自定义对象, 就lso.data.user = userVO;
var user:UserVO = lso.data.user;

*自定义对象需要注册别名才能这样使用,否则会报类型转换异常
import flash.net.registeClassAlias;
flash.net.registeClassAlias("userVO",package.UserVO);

3 将操作保存至lso文件
lso.flush();
*如果不flush(),文件里的内容是不会更新,在其它地方就读不到上次操作的属性,当然了application 在退出的时候会更新文件.

4 删除文件
lso.clear();

每个Domain下的LSO存储空间默认大小是100KB,超出的话,会弹出窗口让用户选择是否允许继续存储.
可以指定LSO文件存储位置,ShareObject.getLocal("userInfo","filePath"),这个filePath是有要求的,DevGuide上说 This file must be a
subdirectory of that domain’s SharedObject directory.
ShareObject.getLocal("userInfo","/"),这是把文件生成到Domain的根下,两个Application就可以访问同一个LSO中的数据。
同一份ShareObject可用于多个Application间共享数据,需要用到LocalConnection
不同操作系统,LSO文件默认存放位置是不一样的

Operating System Location
Windows 95/98/ME/2000/XP
c:/Documents and Settings/username/user_domain/Application
Data/Macromedia/Flash
Player/#SharedObjects/web_domain/path_to_application/application_name/object_ame.sol

Windows Vista c:/Users/username/user_domain/AppData/Roaming/Macromedia/Flash
Player/#SharedObjects/web_domain/path_to_application/application_name/object_ame.sol

Macintosh OS X
/Users/username/Library/Preferences/Macromedia/Flash Player/#SharedObjects

Linux/Unix
/home/username/.macromedia/Flash_Player/#SharedObjects

我的OS是WIN7,Default Location:
C:\Users\dennis\AppData\Roaming\Macromedia\Flash Player\#SharedObjects\JJM8JDKD\localhost\workspace\test\bin-debug\TestLSO.swf\userInfo.sol
:arrow:
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值