Usare RoamingSettings per condividere impostazioni tra Windows Store App in XAML

di Alessio Leoncini, in WinRT,

Nello script precedente (28) abbiamo introdotto la proprietà RoamingFolder sul quale leggere e scrivere file da condividere con tutte le app di un utente.

Ci sono alcuni dati che piu' di altri ha senso siano condivisi su tutti i device di un utente per migliorare la sua esperienza: le impostazioni.
Per semplificare la gestione di questo scenario, oltre a RoamingFolder, in WinRT abbiamo a disposizione la proprietà RoamingSettings, sempre di Windows.Storage.ApplicationData.Current.

Windows.Storage.ApplicationDataContainer _roamingSettings = Windows.Storage.ApplicationData.Current.RoamingSettings;

In RoamingSettings possiamo gestire i dati direttamente per chiave:

_roamingSettings.Values["settingKey1"] = "WinRTItalia.com";

// Read data from a simple setting

Object value1 = _roamingSettings.Values["settingKey1"];

if (!value1)
{
    // nessun dato
}
else
{
    // valore presente
}

_roamingSettings.Values.Remove("settingKey1");

Le strutture dati memorizzate in RoamingSettings possono anche essere organizzate in sotto-strutture interne, che possono essere create con il metotodo CreateContainer.

Windows.Storage.ApplicationDataContainer _container = 
   _roamingSettings.CreateContainer("container1", Windows.Storage.ApplicationDataCreateDisposition.Always);

if (_roamingSettings.Containers.ContainsKey("container1"))
{
   _roamingSettings.Containers["container1"].Values["settingKey1"] = "WinRTItalia.com";
   _roamingSettings.Containers["container1"].Values["settingKey2"] = "ASPItalia.com";
}

l'accesso a questi dati si puo' fare in maniera seguente.

Windows.Storage.ApplicationDataCompositeValue _composite = 
   (Windows.Storage.ApplicationDataCompositeValue)_roamingSettings.Values["compositeSetting1"];

if (_composite == null)
{
    // nessun dato
}
else
{
   // Accesso a _composite["settingKey1"] and _composite["settingKey2"]
}

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi