Ecco alcuni modi per salvare Dati in un'app WinRT, il metodo con Impostazioni nel nome è probabilmente quello che stai cercando! - Aggiunti anche gli altri, puoi anche serializzare i dati se vuoi . È un codice funzionante, ma non dimenticare di aggiungere la gestione degli errori, ecc. È un semplice codice demo :)
Per quanto riguarda le impostazioni, è possibile salvare le impostazioni semplici come chiave e valori, e per le impostazioni più complesse è possibile utilizzare un contenitore. Ho fornito entrambi gli esempi here =)
public class StorageExamples
{
public async Task<string> ReadTextFileAsync(string path)
{
var folder = ApplicationData.Current.LocalFolder;
var file = await folder.GetFileAsync(path);
return await FileIO.ReadTextAsync(file);
}
public async void WriteTotextFileAsync(string fileName, string contents)
{
var folder = ApplicationData.Current.LocalFolder;
var file = await folder.CreateFileAsync(fileName, CreationCollisionOption.ReplaceExisting);
await FileIO.WriteTextAsync(file, contents);
}
public void SaveSettings(string key, string contents)
{
ApplicationData.Current.LocalSettings.Values[key] = contents;
}
public string LoadSettings(string key)
{
var settings = ApplicationData.Current.LocalSettings;
return settings.Values[key].ToString();
}
public void SaveSettingsInContainer(string user, string key, string contents)
{
var localSetting = ApplicationData.Current.LocalSettings;
localSetting.CreateContainer(user, ApplicationDataCreateDisposition.Always);
if (localSetting.Containers.ContainsKey(user))
{
localSetting.Containers[user].Values[key] = contents;
}
}
}
fonte
2013-02-02 14:37:23
Grazie mille, ma la mia domanda ora è: non posso salvare tutte le impostazioni in un file in qualche modo ...? Solo per leggere le righe di testo dal file quando ne ho bisogno al momento dell'avvio dell'app o per riscrivere quel file come testo quando salvare? È una buona pratica? – VasileF
Il contenitore ti darà questa possibilità, basta aggiornare il valore dei tasti che vuoi modificare. –
E se ci sono molti dati, potresti anche usare un piccolo database come SQLite, c'è un .Net wrapper per questo, - assicurati di usare l'implementazione asincrona. Consiglierei comunque di utilizzare le impostazioni composite/container in base a ciò che ci hai detto. –