Windows phone 8.1 LocalSettings和IsolatedStorageSettings之间的差异
Windows phone 8.1 LocalSettings和IsolatedStorageSettings之间的差异,windows-phone-8.1,isolatedstorage,application-data,Windows Phone 8.1,Isolatedstorage,Application Data,我正在构建一个Windows Phone 8.1 Silverlight应用程序。我可以使用以下两个注册表:
Windows.Storage.ApplicationData.Current.LocalSettings;
IsolatedStorageSettings.ApplicationSettings;
这两者有什么不同
哪一个更好
Windows.Storage.ApplicationData.Current.LocalSettings和IsolatedStorageSettings.
我正在构建一个Windows Phone 8.1 Silverlight应用程序。我可以使用以下两个注册表:
Windows.Storage.ApplicationData.Current.LocalSettings;
IsolatedStorageSettings.ApplicationSettings;
这两者有什么不同
哪一个更好
Windows.Storage.ApplicationData.Current.LocalSettings
和IsolatedStorageSettings.ApplicationSettings
之间的区别在于,前者是较新的统一Windows应用商店应用程序API,而后者则来自“旧的”Silverlight API
新的并不总是更好,但我个人认为你们应该在这里。两者都可以使用Silverlight,但是如果您必须将代码迁移到WinRT,您将节省一些时间,因为IsolatedStorageSettings
API不能在WinRT下工作。使用这两种设置有很大的不同:
- 工作方式类似于字典,它被序列化并保存到IsolatedStorageFile:
IsolatedStorageSettings提供了一种方便的方法,可以将特定于用户的数据作为键值对存储在本地IsolatedStorageFile中
还要注意,必须保存隔离存储设置。保存后,您将在应用程序的独立存储中找到一个文件\uuuu ApplicationSettings
- 这是一个很好的例子。一旦你在那里添加了一个值,它就会自动保存。这是模型
所以,它们是完全不同的东西,若你们把密钥添加到上面的设置中,那个么它不会在第二秒内自动出现。考虑两个按钮:
常量字符串firstKey=“firstKey”;
常量字符串secondKey=“secondKey”;
IsolatedStorageSettings isoSetting=IsolatedStorageSettings.ApplicationSettings;
ApplicationDataContainer localSetting=ApplicationData.Current.LocalSettings;
私有无效按钮\u单击(对象发送者,路由目标e)
{
isoSetting.Add(firstKey,true);
localSetting.Values[secondKey]=false;
//isoSetting.Save();//必须保存IsolatedStorage设置
WriteLine(“是LocalSettings:{0}”中的第一个键,localSetting.Values.ContainsKey(firstKey));
WriteLine(“是应用程序设置中的第一个键:{0}”,isoSetting.Contains(firstKey));
WriteLine(“是LocalSettings:{0}”中的第二个键,localSetting.Values.ContainsKey(secondKey));
WriteLine(“是ApplicationSettings:{0}”中的第二个键),isoSetting.Contains(secondKey));
}
私有无效按钮\u单击2(对象发送者,路由目标)
{
//在应用程序重新启动后运行此按钮,无需单击第一个按钮
//和保存IsoSettings
WriteLine(“是LocalSettings:{0}”中的第一个键,localSetting.Values.ContainsKey(firstKey));
WriteLine(“是应用程序设置中的第一个键:{0}”,isoSetting.Contains(firstKey));
WriteLine(“是LocalSettings:{0}”中的第二个键,localSetting.Values.ContainsKey(secondKey));
WriteLine(“是ApplicationSettings:{0}”中的第二个键),isoSetting.Contains(secondKey));
}
如果我正在编写一个新的应用程序,那么我将使用新的ApplicationData.LocalSettings API—它比较新,将来将更容易将这样的应用程序移植到运行时,因为WP8.1 RT不支持隔离存储设置