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 = 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 

时间: 2024-10-06 05:35:12

WinStore之Application Data的相关文章

If application data needs to be sent to IP address xx.xx.xx.xx, how does it work in underneath network?

This is to illustrate the communication between two separate machines which don't have a direct physical connection. Application data is generated and passed to layer 3 (network layer) which wrapps up the data with the destination IP address. Then ha

打开Application Data

1.建后缀名为reg的新文件,复制以下代码后点击运行. Windows Registry Editor Version 5.00[HKEY_CLASSES_ROOT\*\shell\runas]@="管理员取得所有权""NoWorkingDirectory"=""[HKEY_CLASSES_ROOT\*\shell\runas\command]@="cmd.exe /c takeown /f \"%1\" &

Windows7 Application Data拒绝访问打开方法?

在Windows7操作系统,打开 Application Data等文件夹时,弹出位置不可用的警告窗口,提示拒绝访问.下面提供简单的解决方法,希望有用. Windows7操作系统. 方法 1 在电脑磁盘任意位置建立一个记事本,复制下面代码(CTRL+C),粘贴(CTRL+V)到记事本保存. Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\*\shell\runas] @="管理员取得所有权" "NoWorking

Instant Django 1.5 Application Development Starter

Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design. Model: The application data View: which data is presented Template: How the data is presented A project is just a collection of settings organi

MYSQL Data目录查找及如何迁移

MySQL数据库安装成功后,却发现在MySQL安装目录下的Data目录竟然没有新建的数据库?那么如何查找真正的data目录呢?下面3A网络小钱今天就来教你如何查找真正的Data目录并迁移出去.(欢迎各位看官多来和小弟沟通,小弟扣扣:柒壹贰叁肆贰零贰壹) 查找方法:1.方法一:查找mysql.ini文件搜索datadir关键词,发现原来路径配置和basedir不一致datadir="C:/Documents and Settings/All Users/Application Data/MySQL

android <application> 开发文档翻译

由于本人英文能力实在有限,不足之初敬请谅解 本博客仅仅要没有注明"转",那么均为原创.转贴请注明本博客链接链接 <application>语法:    <application android:allowTaskReparenting=["true" | "false"]                 android:allowBackup=["true" | "false"]     

android &lt;application&gt; 开发文档翻译

由于本人英文能力实在有限,不足之初敬请谅解 本博客只要没有注明"转",那么均为原创,转贴请注明本博客链接链接 <application>语法:    <application android:allowTaskReparenting=["true" | "false"]                 android:allowBackup=["true" | "false"]      

Android学习—Application的作用

What is Application Data passing between components using Application Data caching in Application PitFalls MemoryLeak Snippets 学习android挺长时间了,但是对于Appliction还不是很了解.今天花一些时间研究了一下Application. What is Application Application和Actovotu,Service一样是android框架的一

API翻译 --- Data Storage

Data Storage    数据保存 Store application data in databases, files, or preferences, in internal or removeable storage. You can also add a data backup service to let users store and recover application and system data. 可以在数据库,文件,内部储存,可移动储存中,储存应用程序的数据.你也可