WP8.1:将数据导出到 "reachable" .txt 文件

WP8.1: Exporting data to "reachable" .txt file

我正在创建一个跟踪 GPS 数据(纬度、经度、高度)的应用程序。到目前为止,我已经设法创建了一个列表框,每次创建另一组坐标时都会得到一个额外的行。

我尝试用这个函数将它写入文件。

     private async Task WriteToFile()
    {
        string ResultString = string.Join("\n", locationData.ToArray());

        byte[] fileBytes = System.Text.Encoding.UTF8.GetBytes(ResultString);

        StorageFolder local = Windows.Storage.ApplicationData.Current.LocalFolder;
        var dataFolder = await local.CreateFolderAsync("DataFolder", CreationCollisionOption.OpenIfExists);
        var file = await dataFolder.CreateFileAsync("DataFile.txt", CreationCollisionOption.ReplaceExisting);

        using (var s = await file.OpenStreamForWriteAsync())
        {
            s.Write(fileBytes, 0, fileBytes.Length);
        }
}

我可以阅读此文件,但无法在“文件”应用中的任何位置查看此 "DataFile.txt"。

我尝试使用 WP Power Tools,但它不适用于 8.1,我无法更新 Visual Studio 2013 以使 ISExplorer.exe 正常工作并且 每次我尝试连接我的 Lumia 620 时,IsoStoreSpy 总是崩溃。

但所有这些对我来说看起来太复杂了。有没有其他方法可以在不弄乱 IsolatedStorage 的情况下获取此 .txt 文件?我觉得我在这里错过了一些如此简单的东西,我简直不敢相信像将输出写入 .txt 这样基本的东西,以后可以被 PC 使用,却不可用。

您将文件存储在应用的本地存储 (Windows.Storage.ApplicationData.Current.LocalFolder) 中,这与独立存储相同。

“文件”应用只能查看 public 个位置,不能查看特定于应用的位置。

您的应用可以通过多种方式更全面地共享此文件:

  1. 使用共享合同让用户可以将文件共享到他们喜欢的任何地方(OneNote、电子邮件等)。参见 Sharing and exchanging data
  2. 让用户选择保存文件的位置 FileSavePicker. See How to save files through file pickers
  3. 将文件保存到SD卡上。参见 Access the SD card in Windows Phone apps
  4. 将文件保存到用户的 OneDrive。参见 Guidelines for accessing OneDrive from an app
  5. 保存到 RoamingFolder,以便 Windows PC 上的同一个应用程序可以读取文件,然后可以使用类似的方法(尤其是文件选择器)导出,但在桌面设备上。参见 Quickstart: Roaming app data