一、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. webpy使用笔记(二) session/sessionid的使用

    webpy使用笔记(二) session的使用 webpy使用系列之session的使用,虽然工作中使用的是django,但是自己并不喜欢那种大而全的东西~什么都给你准备好了,自己好像一个机器人一样赶 ...

  2. [ACM_模拟] ZOJ 3713 [In 7-bit 特殊输出规则 7bits 16进制]

    Very often, especially in programming contests, we treat a sequence of non-whitespace characters as ...

  3. [BTS] The external credentials in the SSO database are more recent.

    For test some interface. We change BizTalk Server time to a feature date. For example, change to nex ...

  4. Atitit.dwr3 不能显示错误详细信息的解决方案,控件显示错误详细信息的解决方案 java .net php

    Atitit.dwr3 不能显示错误详细信息的解决方案,控件显示错误详细信息的解决方案 java .net php 1. Keyword/subtitle 1 2. 使用dwr3的异常convert处 ...

  5. atitit.spring3 mvc url配置最佳实践

    atitit.spring3 mvc url配置最佳实践 1. Url-pattern  bp 1 2. 通用星号url pattern的问题 1 3. Other code 1 4. 参考 2 1. ...

  6. SHINY-SERVER R(sparkR)语言web解决方案 架设shiny服务器

    1. shiny server简介 shiny-server是一种可用把R 语言以web形式展示的服务,其实RStudio公司自己构建了R Shiny Application运行的平台(http:// ...

  7. IOS设计模式浅析之简单工厂模式(SimpleFactory)

    概述 首先说明一下,简单工厂模式不属于23种GOF设计模式之一.它也称作静态工厂方法模式,是工厂方法模式的特殊实现.这里对简单工厂模式进行介绍,是为本系列后面的工厂方法和抽象工厂模式做一个引子. 定义 ...

  8. Python框架之Tornado(四)源码之褪去模板外衣

    上一篇介绍了客户端请求在tornado框架中的生命周期,其本质就是利用epoll和socket来获取并处理请求.在上一篇的内容中,我们只是给客户端返回了简单的字符串,如:“Hello World”,而 ...

  9. jsp实现验证码

    在web开发领域里面,验证码是一个比较常见的功能,而归根到底,验证码其实就是一组随机数,或者是一个随机算术 一.基本知识 1.为什么需要验证码? 验证码,很多时候出现在注册页面或者登陆界面,在这些页面 ...

  10. Android组件Spinner使用

    Spinner组件是Android当中非常常用的一种用于下拉选择的组件. 本blog当中主要解决的几个问题: 如何在XML中初始化Spinner选项 如何使用代码的方式初始化Spinner选项 一个A ...