방법: Windows Phone의 파일 및 폴더 저장

2012-02-09

이 항목에서는 응용프로그램에서 다음과 같은 격리된 저장 공간 작업을 수행하는 방법을 보여 줍니다.

  • 응용프로그램의 가상 저장소 가져오기

  • 부모 폴더 만들기

  • 텍스트 만들기 및 격리된 저장 공간 파일에 추가

  • 저장 공간 파일에 배치된 텍스트 읽기

이 항목의 목적은 텍스트 문자열을 입력하고 파일에 쓴 다음 텍스트 파일의 내용을 읽을 수 있는 단일 페이지 응용프로그램을 만드는 데 있습니다.

참고참고:

다음 절차의 단계는 Windows Phone용 Visual Studio 2010 Express에 적용됩니다. Visual Studio 2010 Professional 또는 Visual Studio 2010 Ultimate용 추가 기능을 사용하는 경우에는 메뉴 명령이나 창 레이아웃에서 일부 소규모 변형이 나타날 수 있습니다.  

먼저 새 프로젝트를 만들고 필요한 격리된 저장소 네임스페이스를 추가해야 합니다.

새 프로젝트를 만들고 네임스페이스를 추가하려면

  1. Windows Phone용 Visual Studio 2010 Express 에서 파일 | 새 프로젝트 메뉴 명령을 선택하여 새 프로젝트를 만듭니다.

  2. 새 프로젝트 창이 표시됩니다. Visual C# 템플릿을 확장하고 Windows Phone용 Silverlight 템플릿을 선택합니다.

  3. Windows Phone 응용프로그램 템플릿을 선택합니다. 이름에 선택한 이름을 입력합니다.

  4. 확인을 클릭합니다. 새 Windows Phone 응용프로그램 창이 표시됩니다.

  5. 대상 Windows Phone 버전 메뉴에서 Windows Phone 7.1 이 선택되었는지 확인합니다.

  6. 확인을 클릭합니다. 새 프로젝트가 생성되고 MainPage.xaml이 Visual Studio 디자이너 창에서 열립니다.

  7. MainPage.xaml의 디자이너 뷰에서 페이지 제목을 선택한 다음 Text 속성이나 XAML에서 직접 제목 텍스트를 파일/폴더로 변경합니다. 원하는 경우 응용프로그램 제목을 바꿀 수도 있습니다.

  8. 코드 숨김 페이지에 다음 리소스를 추가하여 다음 네임스페이스를 포함합니다. 예를 들어 기본 명명 규칙으로 기본 페이지를 사용 중인 경우 MainPage.xaml.cs를 업데이트합니다.

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

프로젝트에 대한 컨트롤을 추가하려면

  1. MainPage.xaml도구 상자에서 TextBoxButton 컨트롤을 끌어 페이지 위쪽에 놓습니다. 다음 그림을 참조로 사용하여 컨트롤의 배율을 조정하고 위치를 지정합니다.

  2. TextBox의 이름을 txtWrite로 바꾸고 Button의 이름을 btnWrite로 바꿉니다.

  3. TextBox에 대한 Text 속성에서 TextBox 텍스트를 제거하고 콘텐츠 속성에서 버튼 텍스트를 Write로 변경합니다.

  4. MainPage.xaml도구 상자에서 TextBlockButton 컨트롤을 끌어 페이지 아래쪽에 놓습니다. 아래 그림을 참조로 사용하여 컨트롤의 배율을 조정하고 위치를 지정합니다.

  5. TextBlock의 이름을 txtRead로 바꾸고 Button의 이름을 btnRead로 바꿉니다. TextBlock에 대한 Text 속성에서 TextBlock 텍스트를 제거하고 콘텐츠 속성에서 버튼 텍스트를 Read로 변경합니다.

    AP_Core_IsoDesign

이 단원에서는 btnWritebtnRead 클릭 이벤트에 코드를 추가하여 응용프로그램이 폴더 구조와 파일을 만들고 파일에서 텍스트를 읽고 쓸 수 있게 합니다.

버튼 이벤트 처리기에 코드를 추가하려면

  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

표시: