Windows ApplicationData提供对应用程序数据存储区的访问


当用户安装应用时,Windows 在设备上创建一个特殊的位置/目录和一些特殊的注册表条目,以存储应用程序的设置。

你不必担心在何处能找到该位置/目录和注册表条目,因为 Windows 会跟踪它们。你只需使用 ApplicationData 类访问它们。

如果用户卸载了该应用,Windows 会自动删除所匹配的应用设置位置和注册表条目。

Windows APP中的ApplicationData类似于Android中的SharedPreferences



ApplicationData Class

提供对应用程序数据存储区的访问。 应用程序数据包含本地、漫游或临时性的文件和设置。


下面的代码示例演示如何获取应用程序的本地设置容器。

using Windows.Storage;

ApplicationDataContainer localSettings = ApplicationData.Current.LocalSettings;



ApplicationData.LocalSettings


使用 LocalSettings | localSettings 属性可以获取在 ApplicationDataContainer 对象中的设置。使用 ApplicationDataContainer.Values | values 属性可以访问在 localSettings 容器中的设置。此示例创建并读取名为exampleSetting 的设置。

调用 ApplicationDataContainerSettings.Remove | remove 方法以在完成时删除 exampleSetting 设置。

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

// 创建一个exampleSetting
localSettings.Values["exampleSetting"] = "Hello Windows";

// 读取exampleSetting
Object value = localSettings.Values["exampleSetting"];

if (value == null)
{
    // No data
}
else
{
    // Access data in value
}

// 删除exampleSetting
localSettings.Values.Remove("exampleSetting");


可以使用上述方式把所有的设置放在Values中,但也可以使用ApplicationDataContainer.CreateContainer | createContainer分“组”进行存储访问。


调用 ApplicationDataContainer.CreateContainer | createContainer 方法,以创建设置容器。此示例创建名为 exampleContainer 的设置容器并添加名为 exampleSetting 的设置。如果尚不存在,则来自 ApplicationDataCreateDisposition 枚举的 Always | always 值指示应创建容器。

使用 ApplicationDataContainer.Values | values 属性以访问 exampleContainer 容器中的 exampleSetting 设置。

调用 ApplicationDataContainer.DeleteContainer | deleteContainer 方法以在完成时删除 exampleContainer 设置容器。

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

// Create a setting in a container

Windows.Storage.ApplicationDataContainer container = 
   localSettings.CreateContainer("exampleContainer", Windows.Storage.ApplicationDataCreateDisposition.Always);

if (localSettings.Containers.ContainsKey("exampleContainer"))
{
   localSettings.Containers["exampleContainer"].Values["exampleSetting"] = "Hello Windows";
}

// Read data from a setting in a container

bool hasContainer = localSettings.Containers.ContainsKey("exampleContainer");
bool hasSetting = false;

if (hasContainer)
{
   hasSetting = localSettings.Containers["exampleContainer"].Values.ContainsKey("exampleSetting");
}

// Delete a container

localSettings.DeleteContainer("exampleContainer");



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值