在 AIR 的 Flex 应用程序中存储用户首选项的标准方法是什么?我需要存储简单的参数,例如最近打开的文件列表、窗口位置和大小等。
最佳答案
我最喜欢的方法是将 VO 与 LSO(本地共享对象)结合起来。如果你有很多设置,这不太好。优点是你得到一个强类型设置对象,因此是 可绑定(bind) 并且有 代码自省(introspection)与补全 .
很酷的是管理一个 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();
}
现在,如果您想保存设置,您只需执行
settings.someSetting = "newValue";
settingsSO.data.settings = settings;
settingsSO.flush();
此解决方案适用于任何浏览器中的 AIR 和 Flex。较新的浏览器会在清除 cookie 时删除这些数据,因此请注意这一点。
关于apache-flex - 如何在 Adobe Flex/AIR 应用程序中存储用户首选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6335671/