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

(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. DataTable字符串类型的数字,按照数字类型排序

    protected void Page_Load(object sender, EventArgs e)     {         DataTable dt = new DataTable();   ...

  2. tilemap坐标转换

    像素点跟tile的索引之间的转换//从cocos2d-x坐标转换为Tilemap坐标CCPoint GameMap::tileCoordForPosition(CCPoint position){ i ...

  3. Spring + JDBC 组合开发集成步骤

    1:配置数据源,如: <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="h ...

  4. Yii框架第一步-- 安装

    0.首次安装请看 这里 下面的为非首次安装,不需要token的步骤 1.下载composer 官网下载: https://getcomposer.org/download/ 2.开启PHP的opens ...

  5. spring的下载地址(转)

    http://hi.baidu.com/jaimy_jie/item/d699cecdc5d3a354bdef6990 SPRING官方网站改版后,建议都是通过 Maven和Gradle下载,对不使用 ...

  6. iOS - Swift 命令行输入输出

    1.类输出 Swift 语言中类输出方法重: override var description: String{ return String(format: "%@, %@", s ...

  7. c++ IO的继承结构

    #include <stdio.h> #include <iostream>//cin,cout #include <sstream>//ss transfer. ...

  8. Java异常与运行时异常,以及与线程的关系

    具体可以看这篇文章:http://www.cnblogs.com/charlesblc/p/6171103.html 都写在里面了,为了避免更新不一致,这里就不再写一遍了.只给个链接. 注意Java和 ...

  9. iOS 开发之 Xcode6 创建真机调试证书

    http://jingyan.baidu.com/article/ff411625b8141312e48237a7.html 1.登录苹果开发者中心 2.登录后的界面如图所示,如果没有最上面的两个选项 ...

  10. jquery定位

    1.$("div").offset().left ; div到文档的左距离(offset() 方法返回或设置匹配元素相对于文档的偏移) $("div").off ...