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