普通用户如何在Windows Phone 8应用程序中保留设置?

19

我正在编写一个Windows Phone 8应用程序,以便捕获那令人瞩目的3%市场份额,并且在应用程序中持久化用户设置时遇到了困难。

我首先看到了这篇博客,介绍了Windows.Storage命名空间的基础知识,旨在完成此类操作。太好了!

然而,我想作者从未真正运行过他自己的代码,否则他就会知道一旦调用ApplicationData.Current.LocalSettings,就会收到NotImplementedException异常。我们到MSDN网站上找找吧!

嗯,这很清楚,这个API在Windows Phone 8上没有实现。当它说“如果调用,将抛出异常”时,我得出了这个结论。“此API未实现。” - 好极了。

所以,也许有其他相似的API。经过更多搜索后,我发现了这篇博客。它被称为“Windows 8应用程序 - 必须知道的技巧!”。看起来很正式!它介绍了各种非常酷的持久性API,包括永久性和瞬态存储,漫游存储等。

但是你猜怎么着:RoamingFolder,RoamingSettings,TemporaryFolder,LocalSettings-在Windows Phone 8上都没有实现。

他们是不是忘记实现这些比较关键的功能?我应该创建一个本地SQL数据库来存储基本应用程序设置,还是有什么简单的东西我没有找到?


15
普通人 - BoltClock
2个回答

20

啊哈!找到了。我查阅了 Windows Phone 7 的 API 文档,发现那些旧的 API 在 Windows Phone 8 上也能用。

public static void Session_PersistSession(string ticket)
{
   if (IsolatedStorageSettings.ApplicationSettings.Contains("SessionTicket"))
   {
      IsolatedStorageSettings.ApplicationSettings["SessionTicket"] = ticket;
   }
   else
   {
      IsolatedStorageSettings.ApplicationSettings.Add("SessionTicket", ticket);
   }

   IsolatedStorageSettings.ApplicationSettings.Save();
}

public static string Session_LoadSession()
{
   string ticket;
   if (IsolatedStorageSettings.ApplicationSettings.TryGetValue<String>("SessionTicket", out ticket))
   {
      return ticket;
   }

   return null;
}

6
太好了,他们用“统一”的WinRT风格API进行了交换……哦等等! - TDaver
1
你找到的IsolatedStorageSettings,它是否可以漫游数据?在Windows Phone 8应用程序和Windows 8应用程序之间共享数据将是很棒的。 - Christian80
1
@Christian80 - 不,它不漫游..确实有一个漫游存储提供程序,但当然它还没有在Windows Phone上实现。所以我猜漫游只适用于平板电脑和台式电脑?这很糟糕,因为在移动应用程序中漫游设置会非常酷。我想知道微软计划何时实现这些东西.. - Mike Christensen

3

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接