在后台任务中保留数据的推荐方法是什么? [UWP / W / WP应用]

时间:2015-09-15 14:07:33

标签: javascript windows-phone-8.1 winjs uwp

问题很简单,但我真的找不到任何可以展示我想要实现的东西的样本,也许是我没有得到这个概念的人uwp应用程序(或windows / windows phone 8)中的后台任务。

我正在创建一个轮询某些数据(流量事件)的应用程序,并且希望即使他没有使用该应用程序也能够通知用户关闭的数据。所以我估计我会使用后台任务。 (我希望我能把这一部分弄好)。

所以在后台任务中,我设置为在15分钟的计时器上运行,在" InternetAvailable"的条件下,我异步获取数据并且一旦完成,我按要求填写延期对象。一切正常。

问题是,我应该使用什么对象来保存数据,以便在应用程序打开后我可以读取数据?

我已经尝试过WinJS.Application.sessionState但是一旦应用程序准备好(打开)就会丢失。

我已经尝试了Windows.Storage.ApplicationData.current.localSettings,但是它说类型不匹配,显然我试图在那里放置对象,如果预期String(我估计) ...

所以有人知道这里的最佳做法是什么?

谢谢

1 个答案:

答案 0 :(得分:1)

您已完全访问WinRT API,因此您可以编写文件(并在打开应用程序后读取相同的文件):

function saveData(dataObj) {
    var applicationData = Windows.Storage.ApplicationData.current;
    var localFolder = applicationData.localFolder;
    return localFolder.createFileAsync("dataFile.txt", Windows.Storage.CreationCollisionOption.replaceExisting).then(function (sampleFile) {
            return Windows.Storage.FileIO.writeTextAsync(sampleFile, JSON.stringify(dataObj));
    });
}