Windows Store App 应用设置存储
应用设置存储主要分为本地存储和漫游存储两种方式。本地存储是指将应用的设置信息存储在本地存储空间中,而漫游存储则是指将应用的设置信息存储在网络服务器中,相对于本地存储而言,漫游存储支持多台设备之间的应用设置同步,更加灵活也更加方便。本节内容以本地存储方式为例,介绍如何获取及更改本地存储中的应用程序设置信息。
(1)应用设置容器获取
系统使用应用设置容器ApplicationDataContainer来保存应用的设置信息,获取应用设置容器是获得应用设置信息的第一步,在获取到应用设置容器之后才能够对其中保存的应用设置信息进行各种操作,例如写入、删除等,可以像下面这样获取当前应用的应用设置容器。
//获得本地应用设置容器
Windows.Storage.ApplicationDataContainer localSettings = Windows.Storage.ApplicationData.Current.LocalSettings;
(2)应用设置容器操作
介绍了如何获取当前应用的应用设置容器之后,下面来介绍如何向应用设置容器中写入应用的设置信息。
容器中的设置信息是以键值对形式存储的,包含两种类型的键值对设置信息,简单键值对和复合键值对。相应的,对于设置信息的写入、删除等操作来说,根据设置信息的不同类型,也分为简单键值对和复合键值对两种操作方式,接下来详细介绍这两种设置信息类型及其相应的操作方式,由于本地和漫游应用设置信息的读写方法相同,下面将主要以本地应用设置为例,从设置信息写入开始,陆续对设置信息的有关操作进行讲解,首先来看简单键值对设置信息的有关操作。
q 简单键值对
想要写入设置信息,需要首先使用上面已经介绍的方法获得应用设置容器,并指定用来保存设置信息的键,然后使用应用设置容器的Values属性以键值对形式保存设置信息,以下示例代码在test键中保存设置信息“localSettingsTest!”。
//获取本地应用程序设置的容器
Windows.Storage.ApplicationDataContainer localSettings = Windows.Storage.ApplicationData.Current.LocalSettings;
//创建名为“test”的键
String name = "test";
//将这个键赋值为“localSettingsTest!”
localSettings.Values[name] = "localSettingsTest!";
在成功写入简单键值对设置信息之后,如果想要查看它,同样可以通过应用设置容器的Values属性获得其中的设置信息,下面的示例代码获取localSettings容器中与test键对应的设置信息。
Object value = localSettings.Values["test"];
另外,如果想要删除应用设置容器中的设置信息,可以以存储设置信息的键为参数调用Remove方法,示例代码如下所示:
localSettings.Values.Remove("test");
q 复合键值对
介绍了简单键值对设置信息的写入、读取和删除操作之后,现在来看复合键值对设置信息的有关操作。
与简单键值对设置信息相似,想要写入复合键值对设置信息,首先需要获得应用设置容器,指定用来存储复合键值对设置信息的键,但不同的是,除此之外还需要新建ApplicationDataCompositeValue类的对象,并在这个对象中存储复合键值对设置信息,然后再将这个对象作为一个整体保存到应用设置容器中。示例代码如下所示:
Windows.Storage.ApplicationDataContainer localSettings = Windows.Storage.ApplicationData.Current.LocalSettings;
String containerName = "compositegTestSetting";
String intName = "intValue";
String stringName = "stringValue";
ApplicationDataCompositeValue composite = new ApplicationDataCompositeValue();
//整型键值对
composite[intName] = 1;
//字符串类型键值对
composite[stringName] = "I am String!";
//复合键值对
localSettings.Values[containerName] = composite;
读取复合键值对设置信息,依然使用ApplicationDataContainer类的Values属性,示例代码如下所示:
//读取复合键值对设置信息
Windows.Storage.ApplicationDataCompositeValue composite =
(Windows.Storage.ApplicationDataCompositeValue)localSettings.Values["compositegTestSetting"];
if (composite == null)
{
// 没有数据
}
else
{
// 获取 composite["intValue "]和composite["strValue "]中的数据
}
而对于复合键值对设置信息的删除,则同样可通过使用应用设置容器的Remove方法得以实现。代码如下所示:
//删除复合的键值对
localSettings.Values.Remove("compositegTestSetting");
Windows Store App 应用设置存储的更多相关文章
- Windows Store App 全球化 设置指定页面的语言
上一小节介绍了通过在应用程序中添加语言设置选项来改变整个应用显示信息的语言,而有时用户只想对应用中某一页面信息的语言进行调整,这时就不能使用上一小节所讲述的知识来对应用进行设置.下面将通过一个示例介绍 ...
- Windows Store App 过渡动画
Windows Store App 过渡动画 在开发Windows应用商店应用程序时,如果希望界面元素进入或者离开屏幕时显得自然和流畅,可以为其添加过渡动画.过渡动画能够及时地提示用户屏幕所发 ...
- 在桌面程序上和Metro/Modern/Windows store app的交互(相互打开,配置读取)
这个标题真是取得我都觉得蛋疼..微软改名狂魔搞得我都不知道要叫哪个好.. 这边记录一下自己的桌面程序跟windows store app交互的过程. 由于某些原因,微软的商店应用的安全沙箱导致很多事情 ...
- Windows store app[Part 4]:深入WinRT的异步机制
接上篇Windows store app[Part 3]:认识WinRT的异步机制 WinRT异步机制回顾: IAsyncInfo接口:WinRT下异步功能的核心,该接口提供所有异步操作的基本功能,如 ...
- Windows store app[Part 3]:认识WinRT的异步机制
WinRT异步机制的诞生背景 当编写一个触控应用程序时,执行一个耗时函数,并通知UI更新,我们希望所有的交互过程都可以做出快速的反应.流畅的操作感变的十分重要. 在连接外部程序接口获取数据,操作本地数 ...
- 01、Windows Store APP 设置页面横竖屏的方法
在 windows phone store app 中,判断和设置页面横竖屏的方法,与 silverlight 中的 Page 类 不同,不能直接通过 Page.Orientation 进行设置.而是 ...
- 05、Windows Store app 的图片裁切(更新)
在 Win Phone Silverlight api 中,有一个 PhotoChooserTask 选择器,指定宽.高属性,在选择图片的时候, 可以进行裁切,代码: PhotoChooserTask ...
- Windows Store App JavaScript 开发:选取文件和文件夹
前面提到过,文件打开选取器由FileOpenPicker类表示,用于选取或打开文件,而文件夹选取器由FolderPicker类表示,用来选取文件夹.在FileOpenPicker类中,pickSing ...
- Windows Store App JavaScript 开发:文件选取器
正如前面章节C#语言中所介绍的,文件选取器是应用与系统进行交互的一个接口,通过文件选取器可以在应用中直接与文件系统进行交互,访问不同位置的文件或文件夹,或者将文件存储在指定位置.文件选取器分为对文件进 ...
随机推荐
- html bootstrap 表头固定在顶部,表列 可以自由滚动的效果
该效果主要是依照 bootstrap 的一个样式,class="navbar-fixed-top"; 参考网址为:http://v3.bootcss.com/components/ ...
- JavaWeb项目的classpath说明
概念解释: classpath : 即项目中WEB-INF下面的classes目录; 应用: [01] src路径下的文件在编译后会放到WEB-INF/classes路径下.默认的classpath是 ...
- ubuntu_ar命令(操作 ?.deb文件)
1. -x 从自备存文件中取出成员文件. 1.1. “root@zc33-desktop:/home# ar -x libstdc++6_4.7.2-5_i386.deb” 这样的话,它会把 lib ...
- nodejs学习笔记<二>简单的node服务器
在环境搭建好后,就可以开始动手架设(node驱动)一个简单的web服务器. 首先,nodejs还是用js编写.先来看一段node官网上的实例代码. var http = require('http') ...
- js打印出对象的方法
var description = ""; for (var i in order) { var property = order[i]; description += i + & ...
- Data Deduplication in Windows Server 2012
https://blogs.technet.microsoft.com/filecab/2012/05/20/introduction-to-data-deduplication-in-windows ...
- MySQL 定时器EVENT学习
原文:http://blog.csdn.net/lifuxiangcaohui/article/details/6583535 MySQL 定时器EVENT学习 MySQL从5.1开始支持event功 ...
- mustache.js渲染带事件的模板
http://zccst.iteye.com/blog/2183111 最近遇到这样一个问题,预览内容可点击,问题是通过$.Mustache.render("templateId" ...
- IntelliJ IDEA 学习(六)内存设置
小伙伴们经常会发现,在开发的时候,经常遇到内存被占满,导致异常卡顿,有时候提示内存溢出,这时可以通过设置xmx来改善.不过切记最好不要超过内存的1/4 打开 IDEA 安装目录,看到有一个 bin 目 ...
- Python 学习笔记 - 10.类(Class) 1
定义 Python 的 Class 比较特别,和我们习惯的静态语言类型定义有很大区别. 1. 使用一个名为 __init__ 的方法来完成初始化.2. 使用一个名为 __del__ 的方法来完成类似析 ...