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
WinStore之Application Data的更多相关文章
- 打开Application Data
1.建后缀名为reg的新文件,复制以下代码后点击运行. Windows Registry Editor Version 5.00[HKEY_CLASSES_ROOT\*\shell\runas]@=& ...
- 重新想象 Windows 8 Store Apps (24) - 文件系统: Application Data 中的文件操作, Package 中的文件操作, 可移动存储中的文件操作
原文:重新想象 Windows 8 Store Apps (24) - 文件系统: Application Data 中的文件操作, Package 中的文件操作, 可移动存储中的文件操作 [源码下载 ...
- python dpkt SSL 流tcp payload(从三次握手开始到application data)和证书提取
# coding: utf-8 #!/usr/bin/env python from __future__ import absolute_import from __future__ import ...
- 背水一战 Windows 10 (91) - 文件系统: Application Data 中的文件操作, Application Data 中的“设置”操作, 通过 uri 引用 Application Data 中的媒体
[源码下载] 背水一战 Windows 10 (91) - 文件系统: Application Data 中的文件操作, Application Data 中的“设置”操作, 通过 uri 引用 Ap ...
- Windows Application Data拒绝访问打开方法?
在Windows7操作系统,打开 Application Data等文件夹时,弹出位置不可用的警告窗口,提示拒绝访问.下面提供简单的解决方法,希望有用. 工具/原料 计算机. Windows7操作系统 ...
- 【Android】Warning :uninstalling will remove the application data!
最近从Android Studio向手机发布项目过程中经常出现, 问题虽小,但是开发过程中确实浪费时间. It is possible that issue is resolved by uninst ...
- Application Data in Docker 笔记
Application Data in Docker By default all files created inside a container are stored on a writable ...
- 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 ...
- Android API Guides 学习笔记---Application Fundamentals(一)
今天开始学习google官网上的API guides ,主要读了Application Fundamentals这一章节,此章节介绍了一个App的基本组成,共包括四大部分内容. 1. App ...
随机推荐
- ".NET Core Open Source Update"阅读笔记
原文链接:.NET Core Open Source Update [Immo Landwerth发布于2015年1月28日] corefx在github上的forks已经超过1000. 从2014年 ...
- JSP的那些事儿(2)---- DWR2.0 的配置和使用
JSP的那些事儿(2)----DWR2.0 的配置和使用 分类: Web开发 JAVA 2009-04-23 15:43 999人阅读 评论(0) 收藏 举报 jspdwrjavascriptserv ...
- SQL关于日期的查询
SQL查询某天的记录: datediff(day,[Datetime],'2012-08-03')=0 把Datetime换为你的相应字段: SQL查询今天的记录: datediff(day,[Dat ...
- CLIQUE 聚类算法以及Java实现+多线程
CLIQUE(Clustering In QUEst)是一种简单的基于网格的聚类方法,用于发现子空间中基于密度的簇.CLIQUE把每个维划分成不重叠的区间,从而把数据对象的整个嵌入空间划分成单元.它使 ...
- 深究JS异步编程模型
前言 上周5在公司作了关于JS异步编程模型的技术分享,可能是内容太干的缘故吧,最后从大家的表情看出"这条粉肠到底在说啥?"的结果:(下面是PPT的讲义,具体的PPT和示例代码在h ...
- Java程序员的日常 —— 工作一天的收获
看题目可能是扯皮,其实还是有很多专业知识的.从最开始没有注意到设计原则,到后面的jquery实战技巧,都是今天一天碰到的问题. 每天整理一点点,每天收获一点点. 关于软件设计 在设计系统结构的时候,一 ...
- HTML5播放器FlowPlayer的极简风格效果
在线演示 本地下载 使用Flowplayer生成的极简风格的播放器效果.
- atitit. web 在线文件管理器最佳实践(1)--- elFinder 的使用流程解决之道 。打开浏览服务器文件夹java .net php
atitit. web 在线文件管理器最佳实践(1)--- elFinder 的使用流程解决之道 .打开浏览服务器文件夹java .net php 1. 环境:::项目java web,需要打开浏览服 ...
- 使用bee自动生成api文档
beego中的bee工具可以方便的自动生成api文档,基于数据库字段,自动生成golang版基于beego的crud代码,方法如下: 1.进入到gopath目录的src下执行命令: bee api a ...
- iOS开发-UITableView顶部图片下拉放大
关于顶部图片下拉放大,在用户展示的个人中心显示用户个人头像信息,设置UITableView的headerView实现,UITableView继承自UIScrollView,同样的设置UIScrollV ...