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
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Utilizzare una sequence per generare numeri sequenziali con Entity Framework Core
Impostare le dimensioni di un oggetto tramite CSS
Eseguire uno scroll all'interno di una pagina Blazor
Associare Application Insights ad una Web App tramite Azure ARM
Taggare automaticamente un repository con una pipeline di Azure DevOps
Scaling per app con Azure App Service
Esecuzione a matrici nelle pipeline YAML di Azure DevOps
Migrare da Azure DevOps a GitHub
Scenari di test avanzati con ASP.NET Core
Comprimere le immagini contenute in un repository con una GitHub Action
Recuperare i dispositivi connessi in tethering con la Universal Windows Platform
Caricare immagini a differenti risoluzioni in HTML con srcset