最近做的一个软件,由于最初是针对WP7的,现在在只能创建WP8.1的visual studio 2013上转换为了WP8的。
由于要保存字体大小、背景颜色、JSON三个数据,一直使用的是WP7下的存储方式:
IsolatedStorageSettings FontSizeSaved = IsolatedStorageSettings.ApplicationSettings; //定义 FontSizeSaved["FontSizeSaved"] = sliderText.Value; //存入一个double txtContents.FontSize = (double)FontSizeSaved["FontSizeSaved"]; //读取
就是上面这只种能够在程序退出后也能保存的方式。一直可以用,可是昨天不是到出了什么问题,无法保存设置了。
在网上查了一下,WP8下保存设置还必须添加FontSizeSaved.Save()方法,
来保存写入到当前 System.IO.IsolatedStorage.IsolatedStorageSettings 对象的数据。
而在WP8.1下,就像上篇文章写的,应使用如下:
ApplicationDataContainer _appSettings = ApplicationData.Current.LocalSettings; _appSettings.Values["UserDataKey"] = json; string json = _appSettings.Values[“UserDataKey”].ToString();
之后,推荐一款能够查看隔离存储空间的软件IsoStoreSpy(支持WP8/8.1,WP7就不知道了,反正原来是可以的)
下图显示的是两个平台的隔离存储空间
WP8 WP8.1
补充一点:(IsolatedStorageSettings)App.BackgroundAudioPlayerSaved.Value = backgroundAudioPlayer;
想要将后台音乐储存起来,重进应用时再播放,没想到导致的其他所有储存的值都无法读出,纠结了我很久很久。
其实后台的就是一直在播放的。重进应用后直接呈现backgroundAudioPlayer的属性到页面就行了。
再者,这样的数据最后进行文件存储。