读书笔记4:uwp应用设置储存

  应用设置储存指的是保存在应用程序储存区中的键/值对的字典集合,它自动负责序列化对象,并将其保存在应用程序里。以键/值对方式提供一种快速数据访问的方式,主要用于储存一些应用信息。

  1.应用设置介绍

  应用设置是Windows10 中一种经过封装好的数据储存方式,它有着自身的一些特点,并且对储存的数据也有一定的限制,在使用应用设置之前需要非常清楚这些特点和限制才能很好的使用。

  1)拥有容器的层次结构

  指的是这些设置信息都在一个容器中,而容器还能嵌套容器,层层嵌套。在应用设置的应用数据储存内,每个应用拥有设置的根容器,通过相关API可以向根容器添加设置数据和新容器,创建新容器可便于组织各种设置数据,相当于一个分组的功能。一个容器最多嵌套32层深。

  2)有本地和漫游两种设置类型

  Windows 10 支持本地和漫游两种类型,本地是指数据只会存在于当前的客户端应用程序里面,漫游则是指数据会同步到其他设备的相同账号的客户端里。本地应用设置是在根容器ApplicationData.Current.LocalSettings下,而漫游应用设置是在根容器ApplicationData.Current.RoamingSettings下,只是存储的根目录不一样,其他API操作完全一样。

  3)应用设置支持大多数Windows运行时的数据类型

  应用设置所存储的数据不支持所有的类型,例如集合类型,自定义对象也不支持。应用设置支持大多数Windows运行时的数据类型,如下所示:

  数值类型:UInt8、Int16、UInt16、Int32、UInt32、Int64、UInt64、Single、Double

  布尔类型:Boolean

  字符类型:Char16、String

  事件类型:DataTime、TimeSpan

  结构类型:GUID、Point、Size、Rect

  组合类型:ApplicationDataCompositeValue

  对于应用设置所不支持的类型,有两种解决办法,一是使用应用文件来存储,另一种是将数据序列化为一种受支持的数据类型,例如JSON。

  2.应用设置操作

  应用设置操作支持增、删、改、查这些基本的操作。首先要获取应用设置的容器对象ApplicationDataContainer。ApplicationData类代表应用程序的数据类,由于一个应用程序只有一个ApplicationData对象,所以该类是使用单例模式来创建对象的,通过ApplicationData.Current属性可以获取单例对象。

  1)添加和修改应用设置

  在进行应用设置相关操作前,需要先获取应用的设置,下面代码获取本地应用设置容器:

ApplicationDataContainer localSettings = Windows.Storage.ApplicationData.Current.LocalSettings;

  获取容器后,将数据添加到应用设置,如果该应用设置已经存在,则对其进行修改。使用ApplicationDataContainer.Values属性可以访问上一步获取的LocalSettings容器中的设置,然后通过键/值对的方式来操作应用设置。以下语句创建了一个名为 testSetting 的设置:

localSettings.Values["testSetting"] = "Hello Windoes 10";

  上面所显示的代码中,如果容器内没有"testSetting"key择新增一个,若已经存在择对原来的进行修改。

  2)读取应用设置

  同样使用ApplicationDataContainer.Values属性来获取应用设置的值。以下代码访问 localSettings 容器中的 testSetting 设置。

String value = localSetting.Value["testSetting"].ToString();

  3)删除应用设置

  通过ApplicationDataContainerSettings.Remove方法实现。

localSetting.Value.Remove("testSetting");

  

  3.应用文件存储

  应用设置由于数据量和数据类型的限制,有很大的局限性,所以还需要应用文件存储,以文件的方式存储数据。在每个应用的应用数据存储中,该应用拥有系统定义的根目录:一个用于本地文件,一个用于漫游文件,还有一个用于临时文件。应用可向根目录添加新文件和新目录。文件存储和应用设置的层次限制是一样的,最多可以嵌套32层深,而树的宽度是没有限制的。下面介绍三种类型应用文件的区别,后续介绍存储的操作。

  1)本地应用文件

   本地应用是只存储在客户端的存储数据,所存储的数据没有总大小限制,并存储的区域是属于程序的沙盒,只有应用程序自己可以访问,其他程序无法访问,这样可以保证程序的安全性。由于本地应用文件是属于应用程序自己的存储文件,当应用程序卸载之后,这些数据也会删除。本地应用文件的根目录可以通过 ApplicationData 对象的 LocalFolder属性来访问,即ApplicationData.Current.LocalFolder 类型为StroageFolder对象。

  2)漫游应用文件

  漫游应用文件是指对于同一个账号登录的设备共享的数据,这个在漫游设置里也有同样的例子。漫游数据可以轻松的在多个设备间同步应用数据

---恢复内容结束---

  应用设置储存指的是保存在应用程序储存区中的键/值对的字典集合,它自动负责序列化对象,并将其保存在应用程序里。以键/值对方式提供一种快速数据访问的方式,主要用于储存一些应用信息。

  1.应用设置介绍

  应用设置是Windows10 中一种经过封装好的数据储存方式,它有着自身的一些特点,并且对储存的数据也有一定的限制,在使用应用设置之前需要非常清楚这些特点和限制才能很好的使用。

  1)拥有容器的层次结构

  指的是这些设置信息都在一个容器中,而容器还能嵌套容器,层层嵌套。在应用设置的应用数据储存内,每个应用拥有设置的根容器,通过相关API可以向根容器添加设置数据和新容器,创建新容器可便于组织各种设置数据,相当于一个分组的功能。一个容器最多嵌套32层深。

  2)有本地和漫游两种设置类型

  Windows 10 支持本地和漫游两种类型,本地是指数据只会存在于当前的客户端应用程序里面,漫游则是指数据会同步到其他设备的相同账号的客户端里。本地应用设置是在根容器ApplicationData.Current.LocalSettings下,而漫游应用设置是在根容器ApplicationData.Current.RoamingSettings下,只是存储的根目录不一样,其他API操作完全一样。

  3)应用设置支持大多数Windows运行时的数据类型

  应用设置所存储的数据不支持所有的类型,例如集合类型,自定义对象也不支持。应用设置支持大多数Windows运行时的数据类型,如下所示:

  数值类型:UInt8、Int16、UInt16、Int32、UInt32、Int64、UInt64、Single、Double

  布尔类型:Boolean

  字符类型:Char16、String

  事件类型:DataTime、TimeSpan

  结构类型:GUID、Point、Size、Rect

  组合类型:ApplicationDataCompositeValue

  对于应用设置所不支持的类型,有两种解决办法,一是使用应用文件来存储,另一种是将数据序列化为一种受支持的数据类型,例如JSON。

  2.应用设置操作

  应用设置操作支持增、删、改、查这些基本的操作。首先要获取应用设置的容器对象ApplicationDataContainer。ApplicationData类代表应用程序的数据类,由于一个应用程序只有一个ApplicationData对象,所以该类是使用单例模式来创建对象的,通过ApplicationData.Current属性可以获取单例对象。

  1)添加和修改应用设置

  在进行应用设置相关操作前,需要先获取应用的设置,下面代码获取本地应用设置容器:

ApplicationDataContainer localSettings = Windows.Storage.ApplicationData.Current.LocalSettings;

  获取容器后,将数据添加到应用设置,如果该应用设置已经存在,则对其进行修改。使用ApplicationDataContainer.Values属性可以访问上一步获取的LocalSettings容器中的设置,然后通过键/值对的方式来操作应用设置。以下语句创建了一个名为 testSetting 的设置:

localSettings.Values["testSetting"] = "Hello Windoes 10";

  上面所显示的代码中,如果容器内没有"testSetting"key择新增一个,若已经存在择对原来的进行修改。

  2)读取应用设置

  同样使用ApplicationDataContainer.Values属性来获取应用设置的值。以下代码访问 localSettings 容器中的 testSetting 设置。

String value = localSetting.Value["testSetting"].ToString();

  3)删除应用设置

  通过ApplicationDataContainerSettings.Remove方法实现。

localSetting.Value.Remove("testSetting");

 

posted @ 2016-05-07 22:39  Admini22  阅读(1126)  评论(0编辑  收藏  举报