Application Data简介

Posted kingmax54212008

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 = 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 

 

以上是关于Application Data简介的主要内容,如果未能解决你的问题,请参考以下文章

MySQL日志简介

个人喜好诗词之一蜀道难

个人喜好诗词之一前赤壁赋

个人喜好诗词之一滕王阁序

个人喜好诗词之一归去来兮辞

c:\user\all user\application data目录下面还有application data文件夹怎么办