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]
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