4. IsolatedStorage
•W
indows Phone memorizza i dati in una parte del file
system: IsolatedStorage
• “Isolata”: le altre applicazioni non possono accedervi
• Lo spazio disponibile coincide con quello del
dispositivo
• Viene eliminato con la disinstallazione
dell’applicazione
• Non viene modificato con gli update dell’applicazione
5. IsolatedStorage
• ApplicationData contiene i metodi di uso comune
• Utilizza le API di W
indows Runtime con approccio
asincrono
• API di W
indows 8 tranne per RoamingFolder,
TemporaryFolder e IsolatedStorageSettings
• StorageFile e StorageFolder sono le classi per file e
cartelle
• ApplicationData.LocalFolder è la root dello storage
6. I file di progetto
• Potremmo aver bisogno di accedere ai file inclusi nel
progetto di Visual Studio
• La Build Action dei file deve essere impostata su
“Content”
• Package.Current.InstalledLocation è la classe utilizzata
per accedere alle risorse del progetto ma in sola lettura
7. IsolatedStorageSettings
• E’ un Dictionary<string, object> con cui salvare le
impostazioni della nostra app
• E’ rimasta la stessa di W
indows Phone 7
• Accetta oggetti serializzabili
• Il metodo Save() persiste i dati inseriti, modificati o
eliminati. In ogni caso sarà chiamato automaticamente
alla chiusura dell’applicazione
8. W
indows Phone Power Tools
• http:/wptools.codeplex.com/
/
• Tool per esplorare lo storage delle applicazioni
• Sia su device sia su emulatore
• Si possono simulare gli update dell’applicazione
10. Serializzazione
• Lavoriamo con oggetti complessi che non possono
essere salvati nello storage
• Serializzazione: convertire gli oggetti in una forma
semplice memorizzabile in un file XML o JSON
• Deserializzazione: conversione di dati XML o JSON in
oggetti complessi
11. Serializzazione
• Il framework ha due classi principali:
• DataContractSerializer
• DataContractJsonSerializer
• Json.NET è molto più performante ed è open source
http:/json.codeplex.com/
/
14. Database: SQL CE
• Database disconnesso su file singolo
• Integrato nel core con l’arrivo di W
indows Phone 7.5
• Versione 3.5
• Utilizza LINQ to SQL per manipolare i dati
• Supporta le relazioni
• Code first: la struttura viene definita a codice
• SQL CE TOOLBOX facilità la creazione di strutture
complesse http:/sqlcetoolbox.codeplex.com/
/
15. Database: SQL CE
Vantaggi:
• Offre tante funzionalità con massima semplicità d’uso
• Supporta le relazioni
Svantaggi:
• Le performance sono inversamente proporzionali alla
quantità di dati
• Non è compatibile su altre piattaforme
17. Database: SQLite
• Database disconnesso su singolo file
• Open source
• Multipiattaforma
• Non è supportato in modo nativo da W
indows Phone,
quindi necessita di librerie di librerie esterne
18. Database: SQLite
• Necessità di un’estensione per Visual Studio per il
runtime di SQLite
• Esistono due librerie:
• Sqlite-net: è un ORM basato su LINQ
https:/github.com/
/
peterhuene/
sqlite-net
• Sqlite wrapper: è basato sull’esecuzione di query
http:/sqlwinrt.codeplex.com/
/
19. Database: SQLite
• Vantaggi:
• Performance
• Cross platform
• Codice condivisibile con le W
indows Store apps
• Contro:
• Sqlite-net non supporta le relazioni
• Sqlite wrapper lavora solo con query
• Sqlite wrapper dovete gestire le conversioni dei tipi
primitivi
21. Vantaggi per gli sviluppatori
• Solo 14 euro
• Unificazione degli Store
• DVLUP (www.dvlup.com)
• Promozioni per controlli di terze parti
• Visibilità