我对 Windows 8 上的本地存储有疑问。
我想存储一个股票代码的字符串数组。在 Windows 8 上执行此类操作的最佳方法是什么?
浏览一下,有些人建议将数组中的每个字符串存储到文本文件中的新行中,从本地存储中保存和检索。
如果是这样,我将如何实现这一目标?有更好的选择吗?我应该走sqlite的道路吗?
这是一个示例演示如何将集合保存到本地存储,请查看:http ://code.msdn.microsoft.com/windowsapps/CSWinStoreAppSaveCollection-bed5d6e6
我建议使用独立存储来存储应用程序值,可能是序列化的 JSON、对象等。下面是一个代码示例:
-- 设置数据
var localStorage = ApplicationData.Current.LocalSettings;
localStorage.Values[key] = value;
-- 获取数据
var localStorage = ApplicationData.Current.LocalSettings;
if(localStorage.Values.ContainsKey(key)
return (T)localStorage.Values[key];
尽管将上述内容包装在辅助类中通常更实用。
其他选项是将文件写入磁盘,例如 SQLite 或 XML/JSON 文件,但以上对于少量数据应该可以正常工作。
要将数组保存到本地存储中,您需要将其转换为字符串。
var localSettings = Windows.Storage.ApplicationData.current.localSettings;
var someSetting= new Array();
//Add values you want to store
someSetting.push("someValue");
//Change to string and save to local Storage
//toString will convert the array to a string with values separated by a comma
localSettings.values["someSettingInStorage"] = someSetting.toString();
//To retrieve the stored string value as a usable array
if (localSettings.values["someSetting"] != null)
someSetting = (localSettings.values["someSetting"]).split(",");