Database WP8.1:打开和读取txt文件
我有一个很简单的问题,但我不能解决。我已经为windows构建了一个应用程序,我想将其移植到WP8.1上。它非常基本:我有一个.txt文件(2列),其中包含随机挑选的问题和答案 我的问题很简单:与此文件交互的“最佳”或至少最简单的方式是什么 我找到了一个描述Windows.Storage命名空间使用的教程。我有如下代码:Database WP8.1:打开和读取txt文件,database,windows-phone-8.1,Database,Windows Phone 8.1,我有一个很简单的问题,但我不能解决。我已经为windows构建了一个应用程序,我想将其移植到WP8.1上。它非常基本:我有一个.txt文件(2列),其中包含随机挑选的问题和答案 我的问题很简单:与此文件交互的“最佳”或至少最简单的方式是什么 我找到了一个描述Windows.Storage命名空间使用的教程。我有如下代码: async Task<int> getHighScore() { Uri highscoreFileLoc = new Uri("ms-ap
async Task<int> getHighScore()
{
Uri highscoreFileLoc = new Uri("ms-appx:///Assets/Highscore.txt");
StorageFile file = await StorageFile.GetFileFromApplicationUriAsync(highscoreFileLoc);
var highscore = await FileIO.ReadTextAsync(file);
int HighScore;
int.TryParse(highscore, out HighScore);
return HighScore;
}
更进一步,我发现了一个关于LINQ和数据库的教程(关于MSDN)。。然而,对于这样一个简单的任务来说,它似乎有点复杂
我应该继续使用“存储文件方式”,还是切换到数据库?还是有更简单的方法
感谢您的帮助。WinRT上没有独立的存储,因为它是Silverlight遗留产品,WinRT使用的是
Windows.storage
命名空间。压缩不是一个选项,因为它与存储数据无关
冻结是由阻塞UI线程引起的。查看您的代码,可能有一些阻塞操作
这里有一个提示。正如我在代码中看到的,您将高分存储在包的安装文件夹中。我知道,将文件拖放到那里非常容易,但您无法更改或删除它,因为应用程序文件夹中的每个文件对于沙盒应用程序都是只读的
考虑使用
ms appdata://
scheme将文件存储在appdata文件夹中。谢谢您的好意。我回到了以前的版本,我不调用文件,而是直接在主程序中定义一些问题/答案,一切都很好。当我添加async/await时,出现了一些问题。所以,你是对的,冻结确实与Windows.Storage无关。我太困惑了,无法理解“bug”在哪里,所以我将从头开始,逐个添加文件读取方法。
using System.IO.Compression;