Crea sito

Guida C# – Isolated Storage [Windows Phone]

Guida C# – Isolated Storage [Windows Phone]

In questa parte delle guida alla programmazione in C# vedremo un concetto molto importante per chi vorrà utilizzare C# per la creazione di applicazioni  per Windows Phone.

Nelle precedenti guide abbiamo, spesso, avuto la necessità di memorizzare informazioni di vario tipo. La piattaforma Windows Phone permette di accedere a dati memorizzati sia a livello locale, si a livello remoto, per esempio è possibile accedere a un web service per ottenere le informazioni cercate. In questa guida vedremo come usare il sistema di storage locale, che prende il nome di Isolated Storage.

Isolated Storage - Windows Phone

Isolated Storage

L’Isolated Storage è un concetto molto intuitivo, a ogni applicazione viene assegnata una certa quantità di memoria fisica accessibile esclusivamente da quella applicazione. Nessuna applicazione avrà i permessi necessari ad accedere al file system del dispositivo o a un Isolated Storage di un’altra applicazione.

Questo concetto di Storage è sostanzialmente lo stesso che viene utilizzato dalla versione di Silverlight per PC. La differenza principale risiede nel fatto che la versione per PC presenta delle limitazioni sullo spazio totale utilizzabile dall’applicazione, mentre Windows Phone non presenta questo tipo di limiti (anche se è buona norma cercare di utilizzare solo lo spazio effettivamente necessario). L’unico limite sullo spazio utilizzabile è quello fisico del dispositivo, ovvero l’intera memoria interna più le schede di memoria installate.

Per iniziare a utilizzare l’Isolated Storage nelle nostre applicazioni dobbiamo importare i relativi namespace, usando il codice seguente:

Ora vi è la necessità di ottenere un’istanza dell’Isolated Storage per la nostra applicazione. Vediamo un esempio.

Possiamo ottenere una istanza dell’IsolatedStorageSettings con il seguente frammento di codice:

Tramite l’oggetto creato possiamo aggiungere le informazioni da salvare con semplice codice come il seguente:

e alla fine salvare il tutto tramite il metodo Save:

Naturalmente vorremo anche procedere a recuperare i dati salvati, ciò si può fare con estrema semplicità:

Adesso la variabile nome conterrà la stringa Federico, precedentemente salvata.

Salvare altri tipi di oggetto

Possiamo salvare non solo stringe, ma anche altri tipi di oggetto. Supponiamo di avere un oggetto istanza della classe X memorizzato nell’Isolated Storage con chiave y,potremo recuperare questo oggetto tramite la seguente riga di codice:

L’approccio sin qui proposto è valido se non si ha la necessità di avere un controllo specifico sulla memorizzazione dei dati. Se, per esempio, si volessero creare cartelle o dare una struttura particolare ai dati salvati, si dovrebbe ricorrere ai metodi tradizionali per la lettura e scrittura su file e cartelle.

innanzitutto è necessario ottenere una istanza dell’Isolated Storage:

Ora si può procedere con molte operazioni, come creare una cartella:

o scrivere su un file nella cartella appena creata:

Leggere i file è altrettanto facile, basta usare uno StreamReader come spiegato nella guida precedente.


 

Se non vie è chiaro questo concetto non esitate a chiedere aiuto e delucidazioni nei commenti. Nella prossima guida vedremo ed introdurremo il concetto di ereditarietà.

 

Torna in cima