一、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

WinStore之Application Data的更多相关文章

  1. 打开Application Data

    1.建后缀名为reg的新文件,复制以下代码后点击运行. Windows Registry Editor Version 5.00[HKEY_CLASSES_ROOT\*\shell\runas]@=& ...

  2. 重新想象 Windows 8 Store Apps (24) - 文件系统: Application Data 中的文件操作, Package 中的文件操作, 可移动存储中的文件操作

    原文:重新想象 Windows 8 Store Apps (24) - 文件系统: Application Data 中的文件操作, Package 中的文件操作, 可移动存储中的文件操作 [源码下载 ...

  3. python dpkt SSL 流tcp payload(从三次握手开始到application data)和证书提取

    # coding: utf-8 #!/usr/bin/env python from __future__ import absolute_import from __future__ import ...

  4. 背水一战 Windows 10 (91) - 文件系统: Application Data 中的文件操作, Application Data 中的“设置”操作, 通过 uri 引用 Application Data 中的媒体

    [源码下载] 背水一战 Windows 10 (91) - 文件系统: Application Data 中的文件操作, Application Data 中的“设置”操作, 通过 uri 引用 Ap ...

  5. Windows Application Data拒绝访问打开方法?

    在Windows7操作系统,打开 Application Data等文件夹时,弹出位置不可用的警告窗口,提示拒绝访问.下面提供简单的解决方法,希望有用. 工具/原料 计算机. Windows7操作系统 ...

  6. 【Android】Warning :uninstalling will remove the application data!

    最近从Android Studio向手机发布项目过程中经常出现, 问题虽小,但是开发过程中确实浪费时间. It is possible that issue is resolved by uninst ...

  7. Application Data in Docker 笔记

    Application Data in Docker By default all files created inside a container are stored on a writable ...

  8. Persisting iOS Application Data in SQLite Database Using FMDB

    In previous articles we have utilized NSUserDefaults and .NET web services to persist iPhone data. N ...

  9. Android API Guides 学习笔记---Application Fundamentals(一)

    今天开始学习google官网上的API guides ,主要读了Application Fundamentals这一章节,此章节介绍了一个App的基本组成,共包括四大部分内容. 1.      App ...

随机推荐

  1. C#设计模式总结

    一.引言 经过这段时间对设计模式的学习,自己的感触还是很多的,因为我现在在写代码的时候,经常会想想这里能不能用什么设计模式来进行重构.所以,学完设计模式之后,感觉它会慢慢地影响到你写代码的思维方式.这 ...

  2. [HtmlUnit]Fetch Dynamic Html/Content Created By Javascript/Ajax

    import com.gargoylesoftware.htmlunit.*; import com.gargoylesoftware.htmlunit.html.HtmlPage; import j ...

  3. Arduino 端口通信实例

    ////////////////////////////////////////////////////////// //Arduino 1.0.x-----Arduino Uno----COM9 / ...

  4. 服务器端json数据文件分割合并解决方案

    问题引入 Json 是什么就不多说了,本文把Json理解成一种协议. 印象之中,Json貌似是前端的专属,其实不然,服务器端组织数据,依然可以用Json协议. 比如说,某公司有一套测评题目(基于Jso ...

  5. 大数据并行计算利器之MPI/OpenMP

    大数据集群计算利器之MPI/OpenMP ---以连通域标记算法并行化为例 1 背景 图像连通域标记算法是从一幅栅格图像(通常为二值图像)中,将互相邻接(4邻接或8邻接)的具有非背景值的像素集合提取出 ...

  6. [jQuery学习系列一]1-选择器与DOM对象

    前言: 好久没有更新博客了, 最近想复习下 之前学过的JS的相关内容, 也算是自己的一种总结. 知识长时间不用就会忘记, 多学多记多用!! 下面的程序都可以在下面的网站进行在线调试: http://w ...

  7. atitit.js 各版本 and 新特性跟浏览器支持报告

    atitit.js 各版本 and 新特性跟浏览器支持报告 一个完整的JavaScript实现是由以下3个不同部分组成的 •核心(ECMAScript)--JavaScript的核心ECMAScrip ...

  8. 更新日志 - fir.im 新版管理后台邀请内测

    上周,我们对fir.im 新版管理后台的页面结构和样式进行了优化,现在新版的管理后台开始邀请内测,感兴趣的伙伴可以发邮件到 **beta@fir.im** 申请.为了保证服务质量和对问题进行有效追踪, ...

  9. Android SQLite3工具常用命令行总结

    Android SDK的tools目录下提供了一个sqlite3.exe工具,这是一个简单的sqlite数据库管理工具.开发者可以方便的使用其对sqlite数据库进行命令行的操作. 程序运行生成的*. ...

  10. python redis使用

    #!/usr/bin/python #coding=utf-8 import redis class CRedis: def __init__(self): self.host = 'localhos ...