ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

UWP App Data存储和获取

2021-07-17 13:00:41  阅读:249  来源: 互联网

标签:ApplicationDataCompositeValue Windows App UWP Storage compositeValue composite D


这篇博客介绍如何在UWP开发时,如何存储App Data和获取。

App Data是指用户的一些设定,偏好等。例如,App的主题,是否接收推送,离线接收消息等。需要区分下App Data和User Data,一般情况下User Data是一些文档,文件,数据库记录。

App Data的类型有Settings和Files两类。

Settings中支持的数据类型下面几种,

UInt8, Int16, UInt16, Int32, UInt32, Int64, UInt64, Single, Double
Boolean
Char16, String
DateTime, TimeSpan
GUID, Point, Size, Rect
ApplicationDataCompositeValue

App Data可以存储在LocalSetting,RoamingSetting中,两者的区别是LocalSetting存储在本地,RoamingSetting是存储在漫游文件夹中。另外存储在RoamingSetting中的内容可以在同一个App的多个设备上共享数据。注意,RoamingSetting的存储空间是有限的,尽量存储一些必要的信息。

LocalSetting示例:

复制代码
Windows.Storage.ApplicationDataContainer localSettings =
    Windows.Storage.ApplicationData.Current.LocalSettings;// Create a setting
localSettings.Values["ExampleSetting"] = "Hello Windows";

// Retrieve the setting
object value = localSettings.Values["ExampleSetting"];


// Composite setting
Windows.Storage.ApplicationDataCompositeValue composite =
    new Windows.Storage.ApplicationDataCompositeValue();

composite["intVal"] = 1;
composite["strVal"] = "string";

localSettings.Values["exampleCompositeSetting"] = composite;

// Retrieve composite setting
Windows.Storage.ApplicationDataCompositeValue compositeValue =
    (Windows.Storage.ApplicationDataCompositeValue)localSettings.Values["exampleCompositeSetting"];

if(compositeValue != null)
{
    int intVal = (int)compositeValue["intVal"];

    string strVal = (string)compositeValue["strVal"];
}
复制代码

RoamingSetting

复制代码
Windows.Storage.ApplicationDataContainer roamingSettings =
    Windows.Storage.ApplicationData.Current.RoamingSettings;// Create roaming settings

roamingSettings.Values["exampleSetting"] = "Hello World";

roamingSettings.Values["HighPriority"] = "65";

// Composite setting
Windows.Storage.ApplicationDataCompositeValue composite =
    new Windows.Storage.ApplicationDataCompositeValue();

composite["intVal"] = 1;
composite["strVal"] = "string";

roamingSettings.Values["exampleCompositeSetting"] = composite;

// Retrive composite setting
Windows.Storage.ApplicationDataCompositeValue compositeValue =
    (Windows.Storage.ApplicationDataCompositeValue)roamingSettings.Values["exampleCompositeSetting"];

if(compositeValue != null)
{
    int intValue = (int)compositeValue["intVal"];

    string strValue = (string)compositeValue["strVal"];
}
复制代码

可以看到,Setting中的所有数据都是以key-value形式存储的。

感谢您的阅读。

标签:ApplicationDataCompositeValue,Windows,App,UWP,Storage,compositeValue,composite,D
来源: https://www.cnblogs.com/bruce1992/p/15023183.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有