首页 > 代码库 > WinStore之Application Data
WinStore之Application Data
一、Application Data简介
Applicaion Data相当于桌面应用的注册表,存储一些用户配置信息,如运行时状态,用户喜好等,需要注意的时,当卸载应用时,这些数据会被删除,所以不要存储重要数据。
Applicaion Data即使在应用更新以后也不会丢失,有一个版本控制。
二、按用途分类
- local 本地数据 只保存在当前设备.
- roaming 漫游数据 安装了的此用户的应用都可以同步。windows会自动帮你同步数据到微软的云服务器,但是会限制大小。如果用户30天内不用这些数据(例如程序卸载),会被服务器删除。
- temporary 临时数据 随时都可能被系统删除的数据.
三、按存储方式分类
App settings
- 用来保存配置数据,最深32层,不限数量,可以保存在本地且可以漫游。
- AppSettings支持除二进制外的所有WinRT数据格式,如果存储二进制数据得用文件。
- 系统只验证数据格式和长度,不验证数据是否正确。
用ApplicationData.LocalSettings这个静态属性来取得ApplicationDataContainer类类型的配置。
App Files
- 根目录下有三个系统自定义的文件夹:本地,漫游,临时。
- 可以自己建文件夹,但是最多不超过32层,同样不限数量。
用ApplicationData.LocalFolder这个静态属性来取StorageFolder类型的文件。
四、代码示例
存储本地数据
ApplicationDataContainer localSettings = ApplicationData.Current.LocalSettings;//存储单一配置的句柄 ApplicationDataCompositeValue composite = new ApplicationDataCompositeValue();//存储多项配置句柄 StorageFolder localFolder = ApplicationData.Current.LocalFolder;//存储文件句柄
localSettings.Values["exampleSetting"] = "Hello Windows";;//存储单一配置 composite["intVal"] = 1; composite["strVal"] = "string"; localSettings.Values["exampleCompositeSetting"] = composite;//存储多项配置
建立配置层级
ApplicationDataContainer container = localSettings.CreateContainer("exampleContainer", ApplicationDataCreateDisposition.Always);if (localSettings.Containers.ContainsKey("exampleContainer")){ localSettings.Containers["exampleContainer"].Values["exampleSetting"] = "Hello Windows";}
读取配置
Object value = http://www.mamicode.com/localSettings.Values["exampleSetting"];//a settingApplicationDataCompositeValue composite = (ApplicationDataCompositeValue)localSettings.Values["exampleCompositeSetting"];if (composite == null){ // No data}else{ // Access data in composite["intVal"] and composite["strVal"]}bool hasContainer = localSettings.Containers.ContainsKey("exampleContainer");bool hasSetting = false;if (hasContainer){ hasSetting = localSettings.Containers["exampleContainer"].Values.ContainsKey("exampleSetting");}
删除配置
localSettings.Values.Remove("exampleSetting");//ApplicationDataContainerSettings.Remove localSettings.Values.Remove("exampleCompositeSetting");//ApplicationDataCompositeValue.Remove localSettings.DeleteContainer("exampleContainer");//ApplicationDataContainer.DeleteContainer
WinStore之Application Data
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。