Salvare e caricare le impostazioni in un'app UWP

Questo argomento illustra i concetti necessari per iniziare a caricare e salvare le impostazioni in un'app della piattaforma UWP (Universal Windows Platform). Introduce le API principali e fornisce i collegamenti per altre informazioni.

Usare le impostazioni per memorizzare gli aspetti dell'app personalizzabili dall'utente. Ad esempio, un'app lettore di news potrebbe usare le impostazioni per salvare le nuove fonti da visualizzare e i tipi di carattere da usare per la lettura degli articoli.

Verrà analizzato il codice per salvare e caricare le impostazioni dell'app.

Cosa sapere

Usare le impostazioni dell'app per archiviare i dati di configurazione, ad esempio le preferenze dell'utente e lo stato dell'app.

Con le impostazioni possono essere usati i seguenti tipi di dati: integer, double, float, char, string, Point, DateTime e altri. È anche possibile archiviare le istanze della classe ApplicationDataCompositeValue che è utile quando sono presenti più impostazioni che devono essere trattate come un'unità. Ad esempio, la dimensione dei punti e il nome del tipo di carattere per visualizzare il testo nel riquadro di lettura dell'app devono essere salvati/ripristinati come singola unità. Questo evita che un'impostazione non venga sincronizzata rispetto a un'altra a causa di un accesso concomitante, come tra il programma principale e un'attività in background.

Ecco le principali API da conoscere per salvare o caricare le impostazioni dell'app:

  • Windows.Storage.ApplicationData.Current.LocalSettings ottiene il contenitore delle impostazioni dell'applicazione dall'archivio dei dati locali dell'app. Le impostazioni memorizzate qui vengono mantenute sul dispositivo.
  • Windows.Storage.ApplicationData.Current.RoamingSettings ottiene il contenitore delle impostazioni dell'applicazione dall'archivio dei dati di roaming dell'app. Le impostazioni memorizzate qui non effettueranno più il roaming (nell'ambito di Windows 11), ma saranno ancora disponibili. La sostituzione consigliata per le impostazioni di roaming è Servizio app di Azure. Servizio app di Azure è ampiamente supportato, ben documentato, affidabile e supporta scenari multi-piattaforma e multi-ambiente, come iOS, Android e Web.
  • Windows.Storage.ApplicationDataContainer è un contenitore che rappresenta le impostazioni dell'app come coppie chiave/valore. Usare questa classe per creare e recuperare i valori delle impostazioni.
  • Windows.Storage.ApplicationDataCompositeValue rappresenta più impostazioni dell'app che devono essere serializzate come un'unità. Ciò è utile quando un'impostazione non deve essere aggiornata in modo indipendente da un'altra.

Salvare le impostazioni dell'app

Per questa introduzione, l'articolo include due scenari semplici: salvare e caricare un'impostazione dell'app semplice e salvare e caricare un'impostazione composita dimensione del tipo di carattere/tipo di carattere.

ApplicationDataContainer localSettings = Windows.Storage.ApplicationData.Current.LocalSettings;

// Save a setting locally on the device
localSettings.Values["test setting"] = "a device specific setting";

// Save a composite setting locally on the device
Windows.Storage.ApplicationDataCompositeValue composite = new Windows.Storage.ApplicationDataCompositeValue();
composite["Font"] = "Calibri";
composite["FontSize"] = 11;
localSettings.Values["FontInfo"] = composite;

Salvare un'impostazione ottenendo prima ApplicationDataContainer per l'archivio dei dati delle impostazioni locali con Windows.Storage.ApplicationData.Current.LocalSettings. Le coppie chiave/valore del dizionario assegnate a questa istanza vengono salvate nell'archivio dei dati delle impostazioni locali del dispositivo.

Nel frammento di codice precedente, ApplicationDataCompositeValue archivia più coppie chiave/valore. I valori compositi sono utili quando si hanno più impostazioni che devono essere sincronizzate tra loro. Quando ApplicationDataCompositeValue viene salvato, i valori vengono salvati e caricati come un'unità o in modo atomico. In questo modo, le impostazioni correlate continueranno a essere sincronizzate.

Caricare le impostazioni dell'app

ApplicationDataContainer localSettings = Windows.Storage.ApplicationData.Current.LocalSettings;

// load a setting that is local to the device
String localValue = localSettings.Values["test setting"] as string;

// load a composite setting
Windows.Storage.ApplicationDataCompositeValue composite = (ApplicationDataCompositeValue)localSettings.Values["FontInfo"];
if (composite != null)
{
    String fontName = composite["Font"] as string;
    int fontSize = (int)composite["FontSize"];
}

Caricare un'impostazione ottenendo prima un'istanzaApplicationDataContainer per l'archivio dei dati delle impostazioni locali con Windows.Storage.ApplicationData.Current.LocalSettings. Quindi usarla per recuperare le coppie chiave/valore. Se non sono presenti dati, si riceverà un oggetto Null. In C#, significa che localValue sarà null se l'impostazione non esiste.

Caricare un'impostazione seguendo un modello simile. Accedere alle coppie chiave/valore dai dati delle impostazioni locali. Se non sono presenti dati, si riceverà ApplicationDataContainer Null. Ecco perché è presente un controllo if (composite != null) nel codice di esempio precedente.

API e documentazione utili

Ecco un breve riepilogo delle API e altra documentazione utili per iniziare a salvare e caricare le impostazioni dell'app.

API utili

API Descrizione
ApplicationData.LocalSettings Ottiene il contenitore delle impostazioni dell'applicazione dall'archivio dei dati locali dell'app.
ApplicationData.RoamingSettings Ottiene il contenitore delle impostazioni dell'applicazione dall'archivio dei dati di roaming dell'app.
ApplicationDataContainer Contenitore per le impostazioni dell'app che supporta la creazione, l'eliminazione, l'enumerazione e l'attraversamento della gerarchia di contenitori.
Windows.UI.ApplicationSettings Namespace Fornisce le classi che veranno usate per definire le impostazioni dell'app che vengono visualizzate nel riquadro delle impostazioni della shell di Windows.

Documentazione utile

Argomento Descrizione
Linee guida per le impostazioni dell'app Descrive le procedure consigliate per la creazione e la visualizzazione delle impostazioni di un'app.
Archiviare e recuperare le impostazioni e altri dati dell'app Procedura dettagliata per salvare e recuperare le impostazioni.

Esempi utili di codice

Esempio di codice Descrizione
Esempio di dati applicazione 2-4 scenari relativi alle impostazioni