Compartilhar via


Guia de início rápido: dados de aplicativo locais (HTML)

[ Este artigo destina-se aos desenvolvedores do Windows 8.x e do Windows Phone 8.x que escrevem aplicativos do Windows Runtime. Se você estiver desenvolvendo para o Windows 10, consulte documentação mais recente]

Applies to Windows and Windows Phone

Saiba mais sobre armazenamento e recuperação de configurações do repositório local de dados de aplicativo.

Obter os contêineres para as configurações e arquivos do aplicativo

Use a propriedade ApplicationData.localSettings para obter as configurações em um objeto ApplicationDataContainer. Use a propriedade ApplicationData.localFolder para obter os arquivos em um objeto StorageFolder.

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

As próximas etapas usam as variáveis localSettings e localFolder a partir dessa etapa.

Gravar dados para uma configuração

Use a propriedade ApplicationDataContainer.values para acessar as configurações no contêiner localSettings obtidas na etapa anterior. Este exemplo cria uma configuração chamada exampleSetting.

// Simple setting

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

Um objeto ApplicationDataCompositeValue contém configurações que devem ser acessadas atomicamente. Este exemplo cria uma definição composta nomeada exampleCompositeSetting e a adiciona ao contêiner localSettings.

// Composite setting

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

localSettings.values["exampleCompositeSetting"] = composite;

Chame o método ApplicationDataContainer.CreateContainer para criar um contêiner de configurações. Este exemplo cria um contêiner nomeado exampleContainer e adiciona uma configuração nomeada exampleSetting. O valor Always da enumeração de ApplicationDataCreateDisposition indica que o contêiner deve ser criado se ele já não existir.

// 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";
}

Ler dados de uma configuração

Use a propriedade ApplicationDataContainer.values para acessar a configuração exampleSetting no contêiner localSettings.

// Simple setting

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

Use a propriedade ApplicationDataContainer.values para acessar a configuração exampleCompositeSetting no contêiner localSettings.

// Composite setting

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

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

Use a propriedade ApplicationDataContainer.values para acessar a configuração exampleSetting no contêiner exampleContainer.

// Setting in a container

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

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

Gravar dados em um arquivo

Use as APIs de arquivo, como Windows.Storage.StorageFolder.createFileAsync e Windows.Storage.FileIO.writeTextAsync, para criar e atualizar um arquivo no armazenamento de dados do aplicativo local. Este exemplo cria um arquivo chamado dataFile.txt no contêiner localFolder e escreve a data e hora atual no arquivo. O valor replaceExisting da enumeração CreationCollisionOption indica para substituir o arquivo se ele já existir.

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 () {      
      });
}

Ler dados de um arquivo

Use as APIs de arquivo, como Windows.Storage.StorageFolder.getFileAsync, Windows.Storage.StorageFile.GetFileFromApplicationUriAsync e Windows.Storage.FileIO.readTextAsync para abrir e ler um arquivo no repositório local de dados de aplicativo. Este exemplo abre o arquivo dataFile.txt criado na etapa anterior e lê a data do arquivo. O valor openIfExists da enumeração CreationCollisionOption indica que o arquivo deve existir. Para saber detalhes de como carregar recursos de arquivos de vários locais, veja Como carregar recursos de arquivos.

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
      });
}

Exclua as configurações quando não precisar mais delas

Chame o método ApplicationDataContainerSettings.remove para excluir a configuração exampleSetting ao concluí-la.

// Simple setting

localSettings.values.remove("exampleSetting");

Chame o método ApplicationDataCompositeValue.remove para excluir a configuração da composição exampleCompositeSetting ao concluí-la.

// Delete composite setting

localSettings.values.remove("exampleCompositeSetting");

Chame o método ApplicationDataContainer.deleteContainer para excluir o contêiner de configurações exampleContainer ao concluí-lo.

// Delete container

localSettings.deleteContainer("exampleContainer");

Tópicos relacionados

Tarefa

Como carregar recursos de arquivos

Início rápido: dados de aplicativo em roaming

início rápido: dados temporários de aplicativo

Conceitual

Acessando dados de aplicativo com o Tempo de Execução do Windows

Referência

Windows.Storage.ApplicationData

Windows.Storage.ApplicationDataCompositeValue

Windows.Storage.ApplicationDataContainer

Windows.Storage.ApplicationDataContainerSettings

Amostras

Exemplo de dados de aplicativos