Windows Phone 8.1 - 隔离存储

21

我只是想知道你如何处理Windows Phone 8.1 SDK中的IsolatedStorageSettings。例如:

IsolatedStorageSettings.ApplicationSettings.Contains("LocationConsent")

在8.1中如何使用?我的意思是,我该如何编写这个语句而不会出现上下文错误。我觉得它可能已经被弃用了,因为它不能解析为已知的命名空间或其他任何内容。

我正在为我的项目使用地图,并将其移植到8.1中遇到了一些语法问题。我试图查找相关资料,但我认为可能还没有相关的文档,因为MSDN甚至没有提到,除非我不小心错过了。感谢任何帮助。


除了这个方法返回一个布尔值,你还期望他们告诉你什么?http://msdn.microsoft.com/en-us/library/cc614991(v=vs.95).aspx - aybe
1
我在想如何在新的SDK中使用相同的语句而不出现错误。当前的语句没有解析到命名空间,因此它可能已被弃用或更改了。 - Failsafe
我刚刚尝试了一下,它运行得很好。它位于System.IO.IsolatedStorage命名空间中。 - aybe
我能从System.IO中使用的唯一东西是System.IO.Compression。 - Failsafe
不确定你这边出了什么问题,在我的电脑上它可以直接使用。该方法位于程序集 System.Windows 中的 Assembly 中。 C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\WindowsPhone\v8.0\System.Windows.dll - aybe
@Aybe 我知道这是一个非常晚的回复,但当我提出这个问题时,我应该提到我使用的是Windows Phone 8.1 SDK而不是Silverlight 8.1 SDK。我刚刚在工作中重新打开了这个问题,看了一下,意识到了我的错误。抱歉。 - Failsafe
1个回答

45
使用Windows.Storage命名空间中的类。它们是通用应用程序的新功能。如果您希望数据始终保持本地,请尝试Windows.Storage.ApplicationData.Current.LocalSettings。但是,如果您不介意将它们存储在漫游设置中(在Windows 8.1中进行通用应用程序时可用),则可以使用Windows.Storage.ApplicationData.Current.RoamingSettings
var localSettings = Windows.Storage.ApplicationData.Current.LocalSettings;
if(localSettings.Values.ContainsKey("LocationConsent"))
   DoSomething(localSettings.Values["LocationConsent"])

或者

var roamingSettings = Windows.Storage.ApplicationData.Current.RoamingSettings;
if(roamingSettings.Values.ContainsKey("LocationConsent"))
   DoSomething(roamingSettings.Values["LocationConsent"])

这应该可以解决您的问题。我是凭记忆写的,希望对您有用。

那么不需要将数据保存到存储器中吗?就像我在Windows应用程序8中使用的那样(即roamingSettings.save())? - Tasnim Fabiha
1
你实际上需要执行以下操作:ApplicationData.Current.RoamingSettings.SaveSettingValue("key", "value"); - LPains
我在我的代码中找不到SaveSettingsValue(),它给了我一个错误。 - Tasnim Fabiha
哦,对不起。我看了一些旧的代码,没有意识到我在查看一个扩展方法。事实证明,你不需要调用save。这是扩展方法的内容(container是ApplicationData.Current.RoamingSettings或ApplicationData.Current.LocalSettings):container.Values[key] = value; - LPains
哦,是的,我也这么想。谢谢你的帮助 :) - Tasnim Fabiha

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