导出 (0) 打印
全部展开

如何为 Windows Phone 存储文件和文件夹

2012/2/9

本主题演示如何在您的应用程序中执行以下独立存储任务:

  • 获取应用程序的虚拟存储

  • 创建父文件夹

  • 创建文本并将其添加到独立存储文件

  • 读取放置在存储文件中的文本

目标是创建一个单页应用程序,您可以在其中输入一个文本字符串,将其写入到一个文件,然后读取该文本文件的内容。

注意注意:

以下过程中的步骤用于 Visual Studio 2010 Express for Windows Phone。 当您使用用于 Visual Studio 2010 Professional 或 Visual Studio 2010 Ultimate 的插件时,您可能会看到菜单命令或窗口布局中的一些微小改变。

首先,您需要创建一个新项目并添加必要的独立存储命名空间。

创建新项目并添加命名空间

  1. 在 Visual Studio 2010 Express for Windows Phone 中,通过选择“文件 | 新建项目”菜单命令创建一个新项目。

  2. 将显示“新建项目”窗口。展开“Visual C#”模板,然后选择“Silverlight for Windows Phone”模板。

  3. 选择“Windows Phone 应用程序”模板。在“名称”中填入您选择的名称。

  4. 单击“确定”。将显示“新建 Windows Phone 应用程序”窗口。

  5. “Windows Phone 目标版本”菜单中,确保已选择 Windows Phone 7.1。

  6. 单击“确定”。将创建一个新的项目,并且“MainPage.xaml”将在 Visual Studio 设计器窗口中打开。

  7. MainPage.xaml 上的设计器视图中,选择“页面标题”,然后在“文本”属性中或直接在 XAML 中将标题文本更改为 files/folders。您还可以重命名应用程序标题(如果您希望)。

  8. 在代码隐藏页面中添加以下资源以包含以下命名空间。例如,如果您对主页使用默认命名约定,则应更新 MainPage.xaml.cs。

    using System.IO;
    using System.IO.IsolatedStorage;
    
    

为项目添加控件

  1. MainPage.xaml 上,从“工具箱”中拖动一个“TextBox”和一个“Button”控件,并将这些控件放置在该页面顶部附近。参考下图缩放和放置这些控件。

  2. “TextBox”重命名为 txtWrite,将“Button”重命名为 btnWrite

  3. 对于“TextBox”,从该控件的“文本”属性中删除文本 TextBox,然后在内容属性中将按键文本更改为 Write

  4. MainPage.xaml 上,从“工具箱”中拖动一个“TextBlock”和一个“Button”控件,并将这些控件放置在该页面底部附近。参考下图缩放和放置这些控件。

  5. “TextBlock”重命名为 txtRead,将“Button”重命名为 btnRead。对于“TextBlock”,从控件“文本”属性中删除文本 TextBlock,并在内容属性中将按键文本更改为 Read

    AP_Core_IsoDesign

在本节中,将向“btnWrite”“btnRead”点按事件处理程序添加代码,以使您的应用程序能够创建文件夹结构和文件,以及读取文本并将其写入到该文件。

向按键事件处理程序添加代码

  1. 连按“btnWrite”按键为点按事件添加事件处理程序。将打开 MainPage.xaml.cs 文件。

  2. 目标是添加一段代码以获取可在其中为应用程序创建文件和文件夹的虚拟存储。为了突出显示简单的文件和文件夹层次结构,可以创建一个文件夹,然后在该文件夹内创建一个文本文件。对于 btnWrite_Click 事件处理程序,请添加以下代码。

    private void btnWrite_Click(object sender, RoutedEventArgs e)
    {
        // Obtain the virtual store for the application.
        IsolatedStorageFile myStore = IsolatedStorageFile.GetUserStoreForApplication();
    
        // Create a new folder and call it "MyFolder".
        myStore.CreateDirectory("MyFolder");
    
        // Specify the file path and options.
        using (var isoFileStream = new IsolatedStorageFileStream("MyFolder\\myFile.txt", FileMode.OpenOrCreate, myStore))
        {
            //Write the data
            using (var isoFileWriter = new StreamWriter(isoFileStream))
            {
                isoFileWriter.WriteLine(txtWrite.Text);
            }
        }
    }
    
    
  3. 连按“btnRead”按键为点按事件添加事件处理程序。将打开 MainPage.xaml.cs 文件。

  4. 对于 btnRead_Click 事件处理程序,请添加以下代码。

    // This code opens and reads the contents of myFile.txt.
    private void btnRead_Click(object sender, RoutedEventArgs e)
    {
        // Obtain a virtual store for the application.
        IsolatedStorageFile myStore = IsolatedStorageFile.GetUserStoreForApplication();
    
        try
        {
            // Specify the file path and options.
            using (var isoFileStream = new IsolatedStorageFileStream("MyFolder\\myFile.txt", FileMode.Open, myStore))
            {
                // Read the data.
                using (var isoFileReader = new StreamReader(isoFileStream))
                {
                    txtRead.Text = isoFileReader.ReadLine();
                }
            }
    
        }
        catch
        {
            // Handle the case when the user attempts to click the Read button first.
            txtRead.Text = "Need to create directory and the file first.";
        }
    }
    
    
  5. 通过选择“调试”菜单,然后单击“启动调试”运行该应用程序。这会打开模拟器窗口并启动该应用程序。

您应该能够将文本输入到“TextBox”控件中,点按“Write”,接着点按“Read”,然后将内容显示在“TextBlock”控件中。同样,该操作演示了在独立存储中为应用程序创建空间、创建新文件,然后写入和读取该文件内容的过程。

当在手机上运行该应用程序时,请退出该应用程序,然后重新启动。按下“Read”按键会显示您上一次运行该应用程序时写入的最后值。

AP_Core_IsoWrite

AP_Core_IsoRead

显示:
© 2014 Microsoft