Guida introduttiva: Dati locali dell'app (HTML)

[ Questo articolo è rivolto agli sviluppatori per Windows 8.x e Windows Phone 8.x che realizzano app di Windows Runtime. Gli sviluppatori che usano Windows 10 possono vedere Documentazione aggiornata ]

Applies to Windows and Windows Phone

Impara ad archiviare e recuperare impostazioni e file dall'archivio dei dati locali dell'app.

Recuperare i contenitori per le impostazioni e i file dell'app

Usa la proprietà ApplicationData.localSettings per recuperare le impostazioni in un oggetto ApplicationDataContainer. Usa la proprietà ApplicationData.localFolder per recuperare i file in un oggetto StorageFolder.

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

Nei passaggi successivi vengono usate le variabili localSettings e localFolder da questo passaggio.

Scrivere dati in un'impostazione

Usa la proprietà ApplicationDataContainer.values per accedere alle impostazioni nel contenitore localSettings recuperato nel passaggio precedente. Questo esempio crea un'impostazione denominata exampleSetting.

// Simple setting

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

Un oggetto ApplicationDataCompositeValue contiene le impostazioni a cui è necessario accedere in modo atomico. Questo esempio crea un'impostazione composita denominata exampleCompositeSetting e la aggiunge al contenitore localSettings.

// Composite setting

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

localSettings.values["exampleCompositeSetting"] = composite;

Chiama il metodo ApplicationDataContainer.CreateContainer per creare un contenitore di impostazioni. Questo esempio crea un contenitore di impostazioni denominato exampleContainer e aggiunge un'impostazione denominata exampleSetting. Il valore Always dall'enumerazione ApplicationDataCreateDisposition indica che il contenitore deve essere creato se non esiste già.

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

Leggere dati da un'impostazione

Usa la proprietà ApplicationDataContainer.values per accedere all'impostazione exampleSetting nel contenitore localSettings.

// Simple setting

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

Usa la proprietà ApplicationDataContainer.values per accedere all'impostazione exampleCompositeSetting nel contenitore localSettings.

// Composite setting

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

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

Usa la proprietà ApplicationDataContainer.values per accedere all'impostazione exampleSetting nel contenitore exampleContainer.

// Setting in a container

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

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

Scrivere dati in un file

Usa le API per i file, come Windows.Storage.StorageFolder.createFileAsync e Windows.Storage.FileIO.writeTextAsync, per creare e aggiornare un file nell'archivio dei dati locali dell'app. Questo esempio crea un file denominato dataFile.txt nel contenitore localFolder e scrive la data e l'ora correnti nel file. Il valore replaceExisting dall'enumerazione CreationCollisionOption indica che il file deve essere sostituito se già esistente.

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

Leggere dati da un file

Usa le API per i file, come Windows.Storage.StorageFolder.getFileAsync, Windows.Storage.StorageFile.GetFileFromApplicationUriAsync e Windows.Storage.FileIO.readTextAsync, per aprire e leggere un file nell'archivio dei dati locali dell'app. Questo esempio apre il file dataFile.txt creato nel passaggio precedente e legge la data dal file. Il valore openIfExists dall'enumerazione CreationCollisionOption indica che il file deve esistere. Per altri dettagli sul caricamento di risorse di tipo file da varie posizioni, vedi Come caricare risorse di tipo file.

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

Eliminare le impostazioni al termine

Chiama il metodo ApplicationDataContainerSettings.remove per eliminare l'impostazione exampleSetting quando hai finito di usarla.

// Simple setting

localSettings.values.remove("exampleSetting");

Chiama il metodo ApplicationDataCompositeValue.remove per eliminare l'impostazione composita exampleCompositeSetting quando hai finito di usarla.

// Delete composite setting

localSettings.values.remove("exampleCompositeSetting");

Chiama il metodo ApplicationDataContainer.deleteContainer per eliminare il contenitore delle impostazioni exampleContainer quando hai finito di usarlo.

// Delete container

localSettings.deleteContainer("exampleContainer");

Argomenti correlati

Attività

Come caricare risorse di tipo file

Guida introduttiva: Dati mobili dell'app

Guida introduttiva: Dati temporanei dell'app

Informazioni concettuali

Accesso ai dati dell'app con Windows Runtime

Riferimento

Windows.Storage.ApplicationData

Windows.Storage.ApplicationDataCompositeValue

Windows.Storage.ApplicationDataContainer

Windows.Storage.ApplicationDataContainerSettings

Esempi

Esempio di dati dell'applicazione