应用设置存储主要分为本地存储和漫游存储两种方式。本地存储是指将应用的设置信息存储在本地存储空间中,而漫游存储则是指将应用的设置信息存储在网络服务器中,相对于本地存储而言,漫游存储支持多台设备之间的应用设置同步,更加灵活也更加方便。本节内容以本地存储方式为例,介绍如何获取及更改本地存储中的应用程序设置信息。

(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 应用设置存储的更多相关文章

  1. Windows Store App 全球化 设置指定页面的语言

    上一小节介绍了通过在应用程序中添加语言设置选项来改变整个应用显示信息的语言,而有时用户只想对应用中某一页面信息的语言进行调整,这时就不能使用上一小节所讲述的知识来对应用进行设置.下面将通过一个示例介绍 ...

  2. Windows Store App 过渡动画

    Windows Store App 过渡动画     在开发Windows应用商店应用程序时,如果希望界面元素进入或者离开屏幕时显得自然和流畅,可以为其添加过渡动画.过渡动画能够及时地提示用户屏幕所发 ...

  3. 在桌面程序上和Metro/Modern/Windows store app的交互(相互打开,配置读取)

    这个标题真是取得我都觉得蛋疼..微软改名狂魔搞得我都不知道要叫哪个好.. 这边记录一下自己的桌面程序跟windows store app交互的过程. 由于某些原因,微软的商店应用的安全沙箱导致很多事情 ...

  4. Windows store app[Part 4]:深入WinRT的异步机制

    接上篇Windows store app[Part 3]:认识WinRT的异步机制 WinRT异步机制回顾: IAsyncInfo接口:WinRT下异步功能的核心,该接口提供所有异步操作的基本功能,如 ...

  5. Windows store app[Part 3]:认识WinRT的异步机制

    WinRT异步机制的诞生背景 当编写一个触控应用程序时,执行一个耗时函数,并通知UI更新,我们希望所有的交互过程都可以做出快速的反应.流畅的操作感变的十分重要. 在连接外部程序接口获取数据,操作本地数 ...

  6. 01、Windows Store APP 设置页面横竖屏的方法

    在 windows phone store app 中,判断和设置页面横竖屏的方法,与 silverlight 中的 Page 类 不同,不能直接通过 Page.Orientation 进行设置.而是 ...

  7. 05、Windows Store app 的图片裁切(更新)

    在 Win Phone Silverlight api 中,有一个 PhotoChooserTask 选择器,指定宽.高属性,在选择图片的时候, 可以进行裁切,代码: PhotoChooserTask ...

  8. Windows Store App JavaScript 开发:选取文件和文件夹

    前面提到过,文件打开选取器由FileOpenPicker类表示,用于选取或打开文件,而文件夹选取器由FolderPicker类表示,用来选取文件夹.在FileOpenPicker类中,pickSing ...

  9. Windows Store App JavaScript 开发:文件选取器

    正如前面章节C#语言中所介绍的,文件选取器是应用与系统进行交互的一个接口,通过文件选取器可以在应用中直接与文件系统进行交互,访问不同位置的文件或文件夹,或者将文件存储在指定位置.文件选取器分为对文件进 ...

随机推荐

  1. iOS - Block 代码块

    1.Block Block 是一段预先准备好的代码,可以在需要的时候执行,可以当作参数传递.Block 可以作为函数参数或者函数的返回值,而其本身又可以带输入参数或返回值.Block 是 C 语言的, ...

  2. sessionKey

    许多人都知道NETSCAPE公司是Internet商业中领先技术的提供者,该公司提供了一种基于RSA和保密密钥的应用于因特网的技术,被称为安全插座层(Secure Sockets Layer,SSL) ...

  3. VideoView

    [1]这个控件就是对surfaceview 和 meidiaplayer进行封装 [2]meidiaplayer 播放视频他只支持 3gp MP4格式    

  4. Virtualbox虚拟机安装CentOS6.5图文详细教程(zhuan)

    http://www.2cto.com/os/201407/318477.html ************************************************* 什么是Virtu ...

  5. MyBatis学习笔记(二) 关联关系

    首先给大家推荐几个网页: http://blog.csdn.net/isea533/article/category/2092001 没事看看 - MyBatis工具:www.mybatis.tk h ...

  6. 最大堆的插入/删除/调整/排序操作(图解+程序)(JAVA)

    堆有最大堆和最小堆之分,最大堆就是每个节点的值都>=其左右孩子(如果有的话)值的完全二叉树.最小堆便是每个节点的值都<=其左右孩子值的完全二叉树. 设有n个元素的序列{k1,k2,..., ...

  7. !!转!!java 简单工厂模式

    举两个例子以快速明白Java中的简单工厂模式: 女娲抟土造人话说:“天地开辟,未有人民,女娲抟土为人.”女娲需要用土造出一个个的人,但在女娲造出人之前,人的概念只存在于女娲的思想里面.女娲造人,这就是 ...

  8. python操作mongodb之四cp数据库

    from pymongo import MongoClient #连接数据库 client=MongoClient('192.168.30.252',27017) #获取现有数据库的名称 client ...

  9. Unix domain sockets

    #server: SERVER_PATH = "/tmp/python_unix_socket_server" def run_unix_domain_socket_server( ...

  10. 显示win7桌面网络.reg

    显示win7桌面网络.reg Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\C ...