Inicio rápido: datos de aplicaciones locales (HTML)

[ Este artículo está destinado a desarrolladores de Windows 8.x y Windows Phone 8.x que escriben aplicaciones de Windows en tiempo de ejecución. Si estás desarrollando para Windows 10, consulta la documentación más reciente

Applies to Windows and Windows Phone

Obtén información sobre el almacenamiento y la recuperación de configuración y archivos desde el almacén de datos de aplicación locales.

Obtener los contenedores para los archivos y la configuración de la aplicación

Usa la propiedad ApplicationData.localSettings para obtener la configuración en un objeto ApplicationDataContainer. Usa la propiedad ApplicationData.localFolder para obtener los archivos en un objeto StorageFolder.

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

En los siguientes pasos se usan las variables localSettings y localFolder de este paso.

Escribir datos en una configuración

Usa la propiedad ApplicationDataContainer.values para obtener acceso a la configuración en el contenedor localSettings que obtuvimos en el paso anterior. En este ejemplo se crea una configuración llamada exampleSetting.

// Simple setting

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

Un objeto ApplicationDataCompositeValue contiene configuraciones a las que debe obtenerse acceso de forma atómica. En este ejemplo se crea una configuración compuesta llamada exampleCompositeSetting y se la agrega al contenedor localSettings.

// Composite setting

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

localSettings.values["exampleCompositeSetting"] = composite;

Llama al método ApplicationDataContainer.CreateContainer para crear un contenedor de configuraciones. En este ejemplo se crea un contenedor de configuraciones denominado exampleContainer y se agrega una configuración llamada exampleSetting. El valor Always de la enumeración ApplicationDataCreateDisposition indica que el contenedor se crea si no existe ya.

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

Leer datos desde una configuración

Usa la propiedad ApplicationDataContainer.values para obtener acceso a la configuración exampleSetting en el contenedor localSettings.

// Simple setting

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

Usa la propiedad ApplicationDataContainer.values para obtener acceso a la configuración exampleCompositeSetting en el contenedor localSettings.

// Composite setting

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

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

Usa la propiedad ApplicationDataContainer.values para obtener acceso a la configuración exampleSetting en el contenedor exampleContainer.

// Setting in a container

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

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

Escribir datos en un archivo

Usa las API de archivo, como Windows.Storage.StorageFolder.createFileAsync y Windows.Storage.FileIO.writeTextAsync, para crear y actualizar un archivo en el almacén de datos de aplicación local. En este ejemplo se crea un archivo llamado dataFile.txt en el contenedor localFolder y se escriben la fecha y la hora actuales en el archivo. El valor replaceExisting de la enumeración CreationCollisionOption indica que se reemplace el archivo si ya existe.

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

Leer datos desde un archivo

Usa las API de archivo, como Windows.Storage.StorageFolder.getFileAsync, Windows.Storage.StorageFile.GetFileFromApplicationUriAsync y Windows.Storage.FileIO.readTextAsync para abrir y leer un archivo en el almacén de datos de la aplicación local. En este ejemplo se abre el archivo dataFile.txt creado en el paso anterior y se lee la fecha en él. El valor openIfExists de la enumeración CreationCollisionOption indica que el archivo debe existir. Para obtener información detallada sobre la carga de recursos de archivos de varias ubicaciones, consulta Cómo cargar recursos de archivos.

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

Eliminar configuraciones cuando se termine con ellas

Llama al método ApplicationDataContainerSettings.remove para eliminar la configuración exampleSetting cuando hayas terminado.

// Simple setting

localSettings.values.remove("exampleSetting");

Llama al método ApplicationDataCompositeValue.remove para eliminar la configuración compuesta exampleCompositeSetting cuando hayas terminado.

// Delete composite setting

localSettings.values.remove("exampleCompositeSetting");

Llama al método ApplicationDataContainer.deleteContainer para eliminar el contenedor de configuraciones exampleContainer cuando hayas terminado.

// Delete container

localSettings.deleteContainer("exampleContainer");

Temas relacionados

Tarea

Cómo cargar recursos de archivos

Inicio rápido: datos móviles de aplicaciones

Inicio rápido: datos de aplicación temporales

Conceptual

Acceder a datos de aplicaciones con Windows en tiempo de ejecución

Referencia

Windows.Storage.ApplicationData

Windows.Storage.ApplicationDataCompositeValue

Windows.Storage.ApplicationDataContainer

Windows.Storage.ApplicationDataContainerSettings

Muestras

Ejemplo de los datos de la aplicación