Exportar (0) Imprimir
Expandir todo
Información
El tema que ha solicitado se muestra abajo. Sin embargo, este tema no se encuentra en la biblioteca.

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

Applies to Windows and Windows Phone

Obtén información sobre cómo almacenar y recuperar configuraciones y archivos desde el almacén de datos de aplicaciones locales.

Guía básica: Relación de este tema con los demás. Consulta:

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.


Windows.Storage.ApplicationDataContainer localSettings = Windows.Storage.ApplicationData.Current.LocalSettings;
Windows.Storage.StorageFolder localFolder = Windows.Storage.ApplicationData.Current.LocalFolder;

En las siguientes secciones se usan las variables localSettings y localFolder de esta sección.

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

Windows.Storage.ApplicationDataCompositeValue 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

Windows.Storage.ApplicationDataContainer container = 
   localSettings.CreateContainer("exampleContainer", Windows.Storage.ApplicationDataCreateDisposition.Always);

if (localSettings.Containers.ContainsKey("exampleContainer"))
{
   localSettings.Containers["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

Object value = localSettings.Values["exampleSetting"];

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


// Composite setting

Windows.Storage.ApplicationDataCompositeValue composite = 
   (Windows.Storage.ApplicationDataCompositeValue)localSettings.Values["exampleCompositeSetting"];

if (composite == null)
{
   // 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

bool hasContainer = localSettings.Containers.ContainsKey("exampleContainer");
bool hasSetting = false;

if (hasContainer)
{
   hasSetting = localSettings.Containers["exampleContainer"].Values.ContainsKey("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.

  • Applies to Windows Phone

En los dispositivos Windows Phone se hace una copia de seguridad de los datos de aplicaciones de manera predeterminada. Si no quieres que se haga una copia de seguridad de un archivo, guárdalo en la carpeta LocalCache del almacenamiento local de la aplicación.


async void WriteTimestamp()
{
   Windows.Globalization.DateTimeFormatting.DateTimeFormatter formatter = 
       new Windows.Globalization.DatetimeFormatting.DateTimeFormatter("longtime");

   StorageFile sampleFile = await localFolder.CreateFileAsync("dataFile.txt", 
       CreateCollisionOption.ReplaceExisting);
   await FileIO.WriteTextAsync(sampleFile, formatter.Format(DateTime.Now));
}

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. Para obtener información detallada sobre la carga de recursos de archivos de varias ubicaciones, consulta Cómo cargar recursos de archivos.


async void ReadTimestamp()
{
   try
   {
      StorageFile sampleFile = await localFolder.GetFileAsync("dataFile.txt");
      String timestamp = await FileIO.ReadTextAsync(sampleFile);
      // Data is contained in timestamp
   }
   catch (Exception)
   {
      // 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.


// Delete 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

Tareas
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

 

 

Mostrar:
© 2014 Microsoft