내보내기(0) 인쇄
모두 확장
정보
요청한 주제가 아래에 표시됩니다. 그러나 이 주제는 이 라이브러리에 포함되지 않습니다.

빠른 시작: 로컬 앱 데이터(HTML)

Applies to Windows and Windows Phone

로컬 앱 데이터 저장소에서 설정 및 파일을 저장하고 검색하는 방법에 대해 알아봅니다.

앱 설정 및 파일 컨테이너 가져오기

ApplicationDataContainer 개체의 설정을 가져오려면 ApplicationData.localSettings 속성을 사용하고, StorageFolder 개체의 파일을 가져오려면 ApplicationData.localFolder 속성을 사용합니다.


var localSettings = applicationData.localSettings;
var localFolder = applicationData.localFolder;

다음 단계에서는 이 단계의 localSettingslocalFolder 변수를 사용합니다.

설정에 데이터 쓰기

앞 단계에서 가져온 localSettings 컨테이너의 설정에 액세스하려면 ApplicationDataContainer.values 속성을 사용합니다. 이 예제에서는 exampleSetting이라는 설정을 만듭니다.


// Simple setting

localSettings.values["exampleSetting"] = "Hello Windows";

ApplicationDataCompositeValue 개체에는 자동으로 액세스되어야 하는 설정이 포함됩니다. 이 예제에서는 exampleCompositeSetting이라는 복합 설정을 만들어 localSettings 컨테이너에 추가합니다.


// Composite setting

var composite = new Windows.Storage.ApplicationDataCompositeValue();
composite["intVal"] = 1;
composite["strVal"] = "string";

localSettings.values["exampleCompositeSetting"] = composite;

설정 컨테이너를 만들려면 ApplicationDataContainer.CreateContainer 메서드를 호출합니다. 이 예제에서는 exampleContainer라는 설정 컨테이너를 만들고 exampleSetting이라는 설정을 추가합니다. ApplicationDataCreateDisposition 열거형의 Always 값은 컨테이너가 아직 없는 경우 컨테이너를 만들어야 함을 나타냅니다.


// Setting in a container

var container = localSettings.createContainer("exampleContainer", Windows.Storage.ApplicationDataCreateDisposition.always);

if (localSettings.containers.hasKey("exampleContainer"))
{
    localSettings.containers.lookup("exampleContainer").values["exampleSetting"] = "Hello Windows";
}

설정에서 데이터 읽기

localSettings 컨테이너의 exampleSetting 설정에 액세스하려면 ApplicationDataContainer.values 속성을 사용합니다.


// Simple setting

var value = localSettings.values["exampleSetting"];
        
if (!value)
{
    // No data
}
else
{
    // Access data in value
}

localSettings 컨테이너의 exampleCompositeSetting 설정에 액세스하려면 ApplicationDataContainer.values 속성을 사용합니다.


// Composite setting

var composite = localSettings.values["exampleCompositeSetting"];

if (!composite)
{
    // No data
}
else
{
    // Access data in composite["intVal"] and composite["strVal"]
}

exampleContainer 컨테이너의 exampleSetting 설정에 액세스하려면 ApplicationDataContainer.values 속성을 사용합니다.


// Setting in a container

var hasContainer = localSettings.containers.hasKey("exampleContainer");

if (hasContainer)
{
    // Access data in localSettings.containers.lookup("exampleContainer").values.hasKey("exampleSetting");
}

파일에 데이터 쓰기

Windows.Storage.StorageFolder.createFileAsyncWindows.Storage.FileIO.writeTextAsync 같은 파일 API를 사용하여 로컬 앱 데이터 저장소에서 파일을 만들고 업데이트합니다. 이 예제에서는 localFolder 컨테이너에 이름이 dataFile.txt인 파일을 만들고 이 파일에 현재 날짜와 시간을 씁니다. CreationCollisionOption 열거형의 replaceExisting 값은 파일이 이미 있는 경우 파일을 바꾸어야 함을 나타냅니다.


function writeTimestamp() {
   localFolder.createFileAsync("dataFile.txt", Windows.Storage.CreationCollisionOption.replaceExisting)
      .then(function (sampleFile) {
         var formatter = new Windows.Globalization.DateTimeFormatting.DateTimeFormatter("longtime");
         var timestamp = formatter.format(new Date());

         return Windows.Storage.FileIO.writeTextAsync(sampleFile, timestamp);
      }).done(function () {      
      });
}

파일에서 데이터 읽기

Windows.Storage.StorageFolder.getFileAsync, Windows.Storage.StorageFile.GetFileFromApplicationUriAsyncWindows.Storage.FileIO.readTextAsync 같은 파일 API를 사용하여 로컬 앱 데이터 저장소에서 파일을 열고 읽습니다. 이 예제에서는 앞 단계에서 만든 dataFile.txt 파일을 열고 파일에서 날짜를 읽습니다. CreationCollisionOption 열거형의 openIfExists 값은 파일이 반드시 있어야 함을 나타냅니다. 다양한 위치에서 파일 리소스 로드에 대한 자세한 내용은 파일 리소스를 로드하는 방법을 참조하세요.


function readTimestamp() {
   localFolder.getFileAsync("dataFile.txt")
      .then(function (sampleFile) {
         return Windows.Storage.FileIO.readTextAsync(sampleFile);
      }).done(function (timestamp) {
         // Data is contained in timestamp
      }, function () {
         // Timestamp not found
      });
}

설정 사용을 마치면 설정 삭제

exampleSetting 설정을 사용하는 작업을 마쳤으면 ApplicationDataContainerSettings.remove 메서드를 호출하여 이 설정을 삭제합니다.


// Simple setting

localSettings.values.remove("exampleSetting");

exampleCompositeSetting 복합 설정을 사용하는 작업을 마쳤으면 ApplicationDataCompositeValue.remove 메서드를 호출하여 이 복합 설정을 삭제합니다.


// Delete composite setting

localSettings.values.remove("exampleCompositeSetting");

exampleContainer 설정 컨테이너를 사용하는 작업을 마쳤으면 ApplicationDataContainer.deleteContainer 메서드를 호출하여 이 설정 컨테이너를 삭제합니다.


// Delete container

localSettings.deleteContainer("exampleContainer");

관련 항목

작업
파일 리소스를 로드하는 방법
빠른 시작: 로밍 앱 데이터
빠른 시작: 임시 앱 데이터
개념
Windows 런타임을 사용하여 앱 데이터 액세스
참조
Windows.Storage.ApplicationData
Windows.Storage.ApplicationDataCompositeValue
Windows.Storage.ApplicationDataContainer
Windows.Storage.ApplicationDataContainerSettings
샘플
응용 프로그램 데이터 샘플

 

 

Microsoft는 MSDN 웹 사이트에 대한 귀하의 의견을 이해하기 위해 온라인 설문 조사를 진행하고 있습니다. 참여하도록 선택하시면 MSDN 웹 사이트에서 나가실 때 온라인 설문 조사가 표시됩니다.

참여하시겠습니까?
표시:
© 2014 Microsoft