zoukankan      html  css  js  c++  java
  • 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");

      

  • 相关阅读:
    Java实现 LeetCode 394 字符串解码
    Java实现 LeetCode 394 字符串解码
    Java实现 LeetCode 392 判断子序列
    Java实现 LeetCode 392 判断子序列
    Java实现 LeetCode 392 判断子序列
    Java实现 LeetCode 391 完美矩形
    Java实现 LeetCode 391 完美矩形
    Java实现 LeetCode 391 完美矩形
    Java实现 LeetCode 390 消除游戏
    Java实现 LeetCode 390 消除游戏
  • 原文地址:https://www.cnblogs.com/ldzhangyx/p/6235425.html
Copyright © 2011-2022 走看看