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

时间:2012-11-26 04:48:17

标签: c# windows-8 windows-phone-8

我正在编写Windows Phone 8应用程序,因此我可以捕获3%的抢占市场份额,并且很难在应用程序中保留用户设置。

我首先遇到了this blog,它遍历了Windows.Storage命名空间的基础知识,它旨在完成这类工作。耶!

但是,我想作者从未真正运行他自己的代码,否则他会知道你调用的第二个ApplicationData.Current.LocalSettings,你会得到一个NotImplementedException例外。 To the MSDNs we go!

嗯,这很清楚,这个API没有在Windows Phone 8上实现。我得出这个结论时说:“这个API没有实现,如果被调用会抛出异常。” - 那很好。

所以,也许有一些其他类似的API。经过一番谷歌搜索后,我遇到了this blog。它被称为“Windows 8应用程序 - 必须知道技巧!”。这看起来很官方!它涵盖了各种非常酷的持久性API,包括永久和瞬态存储,漫游存储等。

但请猜测:RoamingFolderRoamingSettingsTemporaryFolderLocalSettings - 在Windows Phone 8上都没有实现。

实施这些有些关键的功能是否只是他们的想法?我应该创建一个本地SQL数据库来存储基本的应用程序设置,还是有一些简单的我找不到?

2 个答案:

答案 0 :(得分: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;
}

答案 1 :(得分:3)

这里有几个选择......

    支持
  1. LocalFolder,因此您可以将所需的任何状态序列化到那里的文件中。
  2. 查看IsolatedStorageSettings课程,特别是ApplicationSettings属性
  3. 此外,这可能会提供更多背景信息:How to preserve and restore app state for Windows Phone