如何为 Windows 通用应用创建共享 storage/settings?

How to make shared storage/settings for Windows Universal app?

我正在尝试使用 Visual Studio 2015 在 C# 中为 Windows 8.1 开发通用应用程序。为了测试,我在 Windows 项目的 RoamingSettings 中保存了一些文本,然后在尝试阅读时Windows Phone Project 中的文本由于 "NullRefrenceException" 而导致应用程序崩溃。这是我的代码

在 Windows 项目中:

Windows.Storage.ApplicationDataContainer RoamingSettings = Windows.Storage.ApplicationData.Current.RoamingSettings;

RoamingSettings.Values["USERNAME"] = userNameInput.Text;

在 Windows Phone 项目中:

Windows.Storage.ApplicationDataContainer RoamingSettings = Windows.Storage.ApplicationData.Current.RoamingSettings;

myTextBlock.Text = RoamingSettings.Values["USERNAME"].ToString();

正如我提到的 Windows Phone 应用程序在模拟器和物理 phone 中都崩溃了,我是否为此功能编写了所需的代码?是漫游 Settings/Folder 是存储通用应用程序数据的地方吗?

感谢您的宝贵时间

首先,要使漫游设置生效,您需要使用相同的 Microsoft 帐户登录两台设备。

这些设置不会立即同步,因此您无法在 Windows 设备上更新设置后立即在 phone 设备上测试它们。

还要确保检查您尝试检索的值是否不是 null:

if(RoamingSettings.Values.ContainsKey("USERNAME"))
{
    myTextBlock.Text = RoamingSettings.Values["USERNAME"].ToString();
}

在此之后你应该不会得到任何 NullReferenceException,但是当值稍后同步时,if 块中的代码最终将执行。