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#语言中所介绍的,文件选取器是应用与系统进行交互的一个接口,通过文件选取器可以在应用中直接与文件系统进行交互,访问不同位置的文件或文件夹,或者将文件存储在指定位置.文件选取器分为对文件进 ...
随机推荐
- 线程入门之join方法
package com.thread; /** * <join:将某线程加入进来,相当于方法调用,也叫合并某个线程> * <功能详细描述> * * @author 95Yang ...
- 在SQL Server中 获取日期、日期格式转换
--常用日期转换参数: PRINT CONVERT(varchar, getdate(), 120 ) 2016-07-20 16:09:01 PRINT replace(replace(replac ...
- hiho #1050 : 树中的最长路 树的直径
#1050 : 树中的最长路 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 上回说到,小Ho得到了一棵二叉树玩具,这个玩具是由小球和木棍连接起来的,而在拆拼它的过程中, ...
- javascript权威指南笔记--javascript语言核心(五)--getter和setter属性
getter和setter属性: var p = { x:1.0, y:1.0, get r(){ return Math.sqrt(this.x*this.x + this.y * this.y); ...
- DB层面上的设计 分库分表 读写分离 集群化 负载均衡
第1章 引言 随着互联网应用的广泛普及,海量数据的存储和访问成为了系统设计的瓶颈问题.对于一个大型的 互联网应用,每天几十亿的PV无疑对数据库造成了相当高的负载.对于系统的稳定性和扩展性造成了极大的 ...
- 对List中对象的去重
今天项目中遇到了一个对List中对象去重的问题. 首先对于我们自己系统中的对象我们只要重写该对象的 equal 和 hashcode 即可(利用对象中的能够唯一确定对象的属性). 但是我遇到的不是本系 ...
- shiro-web整合
1.所需要jar <!-- shiro核心包 --> <dependency> <groupId>org.apache.shiro</groupId> ...
- mysql5.1版本 my.cnf中复制的配置不起作用
原因是:在mysql存放数据的目录下面有一个文件master.info,mysql服务器认为 master.info比my.cnf优先级要高,第一次启动slave,master.info不存在,从my ...
- scala调用java的方法,返回了一个对象链表List<Student>,在scala中遍历该链表获取指定Student的名字name
假设Student类如下: class Student { private int no; private String name; public int getNo() { return no; } ...
- C#_拆箱跟装箱
Net的类型分为两种,一种是值类型,另一种是引用类型.这两个类型的本质区别,值类型数据是分配在栈中,而引用类型数据分配在堆上.那么如果要把一个值类型数据放到堆上,就需要装箱操作:反之,把一个放在堆上的 ...