博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
WinStore之Application Data
阅读量:7029 次
发布时间:2019-06-28

本文共 2151 字,大约阅读时间需要 7 分钟。

一、Application Data简介

  Applicaion Data相当于桌面应用的注册表,存储一些用户配置信息,如运行时状态,用户喜好等,需要注意的时,当卸载应用时,这些数据会被删除,所以不要存储重要数据。

  Applicaion Data即使在应用更新以后也不会丢失,有一个版本控制。

二、按用途分类

  •   local 本地数据  只保存在当前设备.
  •   roaming 漫游数据 安装了的此用户的应用都可以同步。windows会自动帮你同步数据到微软的云服务器,但是会限制大小。如果用户30天内不用这些数据(例如程序卸载),会被服务器删除。
  •   temporary 临时数据  随时都可能被系统删除的数据.

三、按存储方式分类 

  App settings

  •   用来保存配置数据,最深32层,不限数量,可以保存在本地且可以漫游。
  •   AppSettings支持除二进制外的,如果存储二进制数据得用文件。
  •   系统只验证数据格式和长度,不验证数据是否正确。

  用这个静态属性来取得类类型的配置。

  App Files

  •   根目录下有三个系统自定义的文件夹:本地,漫游,临时。
  •   可以自己建文件夹,但是最多不超过32层,同样不限数量。

     这个静态属性来取类型的文件。

四、代码示例

  存储本地数据

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 = localSettings.Values["exampleSetting"];//a setting ApplicationDataCompositeValue 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

转载地址:http://ldrxl.baihongyu.com/

你可能感兴趣的文章
TCP协议详解
查看>>
Node.js process 模块解读
查看>>
Lodash源码分析-compact.js
查看>>
度小满牵手南京银行打造”AI鑫”计划:银行零售业掀起变革运动
查看>>
微信小程序之分享海报生成
查看>>
敏捷AI|NLP技术在宜信业务中的实践「背景篇」
查看>>
布局结束检测工具
查看>>
[MetalKit]21-What's-new-in-graphics-and-games-at-WWDC-2016
查看>>
html2canvas在vue下的巨坑
查看>>
从设计师和开发的角度使用 lottie
查看>>
iOS之自定义tabBar
查看>>
Spring boot学习(三) Spring boot整合mybatis
查看>>
Redux 源码深度解析(附带视频1月14号上传)
查看>>
理解webpack原理,手写一个100行的webpack
查看>>
Node.js & Express 项目基本搭建
查看>>
掌握 MySQL 这 19 个骚操作,效率至少提高3倍
查看>>
【跃迁之路】【744天】程序员高效学习方法论探索系列(实验阶段501-2019.3.6)...
查看>>
用于大数据测试、学习的测试数据
查看>>
Software System Analysis and Design | 1
查看>>
JavaScript函数式编程,真香之组合(一)
查看>>