在Flex的Flex应用程序中存储用户首选项的标准方法是什么?我需要存储简单的参数,如最近打开的文件列表,窗口位置和大小等.
我最喜欢的方法是将VO与LSO(本地共享对象)结合起来.如果您有很多设置,这不会很好.优点是你得到一个强类型的设置对象,它可以绑定并具有代码内省和完成.
很酷的是,管理LSO只需要大约5行代码.此外,如果要存储任何敏感数据,管理本地加密存储也非常容易.
registerClassAlias("SettingsVO",SettingsVO); //This lets us store a typed object in LSO
var settings:SettingsVO;
var settingsSO = SharedObject.getLocal("settings");
//Check to make sure settings exist... if not, create a new settings object
if( settingsSO.size && settingsSO.data && settingsSO.data.settings){
settings = settingsSO.data.settings as SettingsVO;
}else{
settings = new SettingsVO();
}
Run Code Online (Sandbox Code Playgroud)
现在,如果你想保存设置,你就可以了
settings.someSetting = "newValue";
settingsSO.data.settings = settings;
settingsSO.flush();
Run Code Online (Sandbox Code Playgroud)
此解决方案适用于任何浏览器中的BOTH AIR和Flex.较新的浏览器会在清除cookie时删除此数据,因此请注意这一点.
| 归档时间: |
|
| 查看次数: |
4923 次 |
| 最近记录: |