설정 로드 및 저장

Applies to Windows and Windows Phone

앱 기본 설정 및 설정을 저장하고 액세스할 수 있으며 자동 동기화를 사용하여 컴퓨터 간에 이 데이터를 공유할 수도 있습니다.

설정 저장 및 로드를 고려할 때는 Windows 8.1 및 Windows Phone 8.1 응용 프로그램 수명 주기에 대해 약간 알고 있어야 합니다. 특히 앱이 더 이상 사용되지 않는 경우 일시 중단된 상태로 배치됩니다. 일시 중단된 다음에는 시스템에서 종료할 시기를 결정합니다. 앱의 현재 상태 및 사용자 설정을 저장하는 코드를 제공합니다. 앱이 다시 시작되면 사용자가 중단한 위치로 복원할 수 있습니다. 제대로 수행되면 앱에 종료되었다는 사실을 사용자가 알지 못할 수도 있습니다.

설정 데이터 저장 및 로드를 더 간단한 프로세스로 만들려면 Windows.Data 네임스페이스의 일부인 ApplicationsData 클래스를 사용할 수 있습니다. 이 클래스는 앱 데이터를 저장, 로드 및 공유하는 API를 제공합니다. 다음과 같은 세 가지 유형의 저장소가 있습니다.

로컬LocalSettings에서는 데이터를 키/값 사전 쌍으로 저장할 수 있으며 LocalFolder에서는 파일을 저장할 수 있습니다. 데이터는 현재 컴퓨터에만 저장되고 앱을 삭제하면 데이터도 삭제됩니다.
로밍RoamingSettings에서는 데이터를 키/값 사전 쌍으로 저장할 수 있으며 RoamingFolder에서는 파일을 저장할 수 있습니다. 데이터는 현재 컴퓨터에 저장됩니다. 또한 앱이 설치된 다른 컴퓨터와 공유되며 설정을 동기화하도록 구성됩니다. 앱을 삭제하면 데이터도 삭제됩니다.
TemporaryTemporaryFolder는 앱이 실행되는 동안 필요한 파일을 저장할 수 있는 위치이지만 시스템은 언제든지 해당 파일을 삭제할 권한을 보유합니다.

 

C#에서 앱 데이터 저장 및 로드

이 간단한 C# 예제에서 일부 앱 설정(최고 점수)은 앱이 일시 중단될 때 LocalSettings에 저장되고 앱이 다시 시작되면 다시 로드됩니다. 이 코드는 App.xaml.cs에 있고 각각 OnSuspendingOnLaunched 메서드에 있다고 가정합니다. 이러한 메서드는 새 앱(XAML) 프로젝트 유형을 사용할 때 만들어집니다.

참고  앱이 일시 중단된 후 다시 시작되면 설정 데이터를 다시 로드할 필요가 없습니다. 앱은 메모리에 유지되고 중단된 지점에서 다시 시작됩니다. 그러나 앱이 일시 중단된 다음 종료되면 상태를 복원해야 합니다. 앱 일시 중단 및 다시 시작에 대한 자세한 내용은 응용 프로그램 수명 주기(Windows 스토어 앱)를 참조하세요.

            // Saving Application Data
            //
            // Add this to  OnSuspending() in App.xaml.cs
            // Add: using Windows.Storage;

            int HighScore = 1000;
            ApplicationData.Current.LocalSettings.Values["HighScore"] = HighScore;


            // Loading Application Data            //
            // Add this to OnLaunched() in App.xaml.cs
            if (args.PreviousExecutionState == ApplicationExecutionState.Terminated)
            {
                // App is being resumed afted being termination, so settings
                // should be restored.

                if (ApplicationData.Current.LocalSettings.Values.ContainsKey("HighScore"))
                {
                    int HighScore;
                    HighScore = (int)(ApplicationData.Current.LocalSettings.Values["HighScore"]);
                }
            }
            else
            {
                // App is being resumed after being suspended, so typically you do not
                // need to restore settings.
            }

참고  ApplicationData를 사용하여 단순 데이터 형식만 직접 저장할 수 있습니다. 더 복잡한 개체를 저장해야 하는 경우 먼저 직렬화해야 합니다. 방법에 대한 자세한 내용은 응용 프로그램 저장소에 컬렉션 저장 및 DataContractSerializer 클래스를 참조하세요.

관련 항목

iOS 개발자용 항목
iOS 개발자용 리소스
iOS 개발자용 Windows 8 컨트롤
iOS 개발자용 Windows 8 도움말
수명 주기 항목
응용 프로그램 수명 주기(Windows 스토어 앱)
시작, 다시 시작 및 멀티태스킹(C#/VB/C++ 및 XAML을 사용하는 Windows 스토어 앱)
시작, 다시 시작 및 멀티태스킹(JavaScript 및 HTML을 사용하는 Windows 스토어 앱)
앱 데이터 항목
Windows 런타임을 사용하여 앱 데이터 액세스(Windows 스토어 앱)
로밍 중인 응용 프로그램 데이터 지침
앱 설정에 대한 지침(Windows 스토어 앱)
블로그: Fish 기반 인터페이스 반환 및 데이터 직렬화

 

 

표시:
© 2015 Microsoft