Caricamento e salvataggio di impostazioni

Applies to Windows and Windows Phone

Puoi archiviare e accedere a preferenze e impostazioni dell'app e persino condividere questi dati tra computer tramite la sincronizzazione automatica.

Prima di parlare del salvataggio e del caricamento di impostazioni, è essenziale conoscere qualche dettaglio in più sul ciclo di vita dell'app in Windows 8.1 e Windows Phone 8.1. Quando infatti l'app non viene più usata viene posta in uno stato sospeso ed è il sistema a decidere quando terminarla. Se fornisci il codice per salvare lo stato corrente dell'app e tutte le impostazioni degli utenti, alla ripresa potrai ripristinare l'app nel punto in cui è stata lasciata dall'utente. Se il codice è scritto correttamente, l'utente non si accorgerà nemmeno che l'app è stata terminata.

Per semplificare il processo di salvataggio e caricamento dei dati delle impostazioni, puoi usare la classe ApplicationsData, che fa parte dello spazio dei nomi Windows.Data. Questa classe fornisce le API per condividere e caricare dati dell'app. Sono disponibili tre tipi di archiviazione dei dati.

LocalLocalSettings ti consente di archiviare i dati come coppia del dizionario chiave/valore, mentre con LocalFolder puoi archiviare i file. I dati vengono archiviati solo nel computer corrente e vengono eliminati quando si elimina l'app.
RoamingRoamingSettings ti consente di archiviare i dati come coppia del dizionario chiave/valore, mentre con RoamingFolder puoi archiviare i file. I dati vengono archiviati nel computer corrente. Sono inoltre condivisi con gli altri computer in cui è installata l'app e infine sono configurati per la sincronizzazione delle impostazioni. Vengono eliminati quando si elimina l'app.
TemporaryIn TemporaryFolder vengono archiviati tutti gli eventuali file necessari durante l'esecuzione dell'app, ma il sistema si riserva il diritto di eliminarli in qualsiasi momento.

 

Salvataggio e caricamento di dati dell'ap in C#

In questo breve esempio in C# alcune impostazioni dell'app (un punteggio alto) vengono salvate in LocalSettings durante la sospensione dell'app e ricaricate alla ripresa. Presupponiamo che questo codice sia incluso in App.xaml.cs e rispettivamente nei metodi OnSuspending e OnLaunched. Questi metodi vengono creati automaticamente quando si usa il tipo di progetto Applicazione vuota (XAML).

Nota  Non devi ricaricare i dati delle impostazioni alla ripresa dell'esecuzione di un'app sospesa. L'app rimane in memoria e riprende l'esecuzione dal punto in cui è stata lasciata. Se però l'app è stata sospesa e quindi terminata, devi ripristinare lo stato. Per altre informazioni sulla sospensione e la ripresa dell'esecuzione di app, vedi Ciclo di vita dell'app (app di Windows Store).


            // Saving Application Data
            //
            // Add this to  OnSuspending() in App.xaml.cs
            // Add: using Windows.Storage;

            int HighScore = 1000;
            ApplicationData.Current.LocalSettings.Values["HighScore"] = HighScore;


            // Loading Application Data            //
            // Add this to OnLaunched() in App.xaml.cs
            if (args.PreviousExecutionState == ApplicationExecutionState.Terminated)
            {
                // App is being resumed afted being termination, so settings
                // should be restored.

                if (ApplicationData.Current.LocalSettings.Values.ContainsKey("HighScore"))
                {
                    int HighScore;
                    HighScore = (int)(ApplicationData.Current.LocalSettings.Values["HighScore"]);
                }
            }
            else
            {
                // App is being resumed after being suspended, so typically you do not
                // need to restore settings.
            }

Nota  Puoi salvare solo tipi di dati semplici direttamente con ApplicationData. Se è necessario salvare oggetti più complicati, dovrai prima di tutto serializzarli. Per informazioni sulla procedura, vedi l'esempio relativo al salvataggio di una raccolta nello spazio di archiviazione dell'applicazione e la classe DataContractSerializer.

Argomenti correlati

Argomenti per sviluppatori iOS
Risorse per sviluppatori iOS
Controlli di Windows 8 per sviluppatori iOS
Guida dettagliata di Windows 8 per sviluppatori iOS
Argomenti sul ciclo di vita
Ciclo di vita dell'app (app di Windows Store)
Avvio, ripresa e multitasking (app di Windows Store scritte in C#/VB/C++ e XAML)
Avvio, ripresa e multitasking (app di Windows Store scritte in JavaScript e HTML)
Argomenti sui dati dell'app
Accesso ai dati dell'app con Windows Runtime (app di Windows Store)
Linee guida per i dati di roaming dell'applicazione
Linee guida per le impostazioni dell'app (app di Windows Store)
Blog: Return of the Fish Based Interface and Serializing Data

 

 

Mostra:
© 2014 Microsoft