Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Wp storage (online) - tiziano cacioppolini

253 views

Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Wp storage (online) - tiziano cacioppolini

  1. 1. Storage in W indows Phone 8 Tiziano Cacioppolini .Net Developer @ tiziano.cacioppolini@gmail.com @diabloxx83 http:/tiziano.cacioppolini.it /
  2. 2. Agenda • IsolatedStorage • Serializzazione • Database • I vantaggi per gli sviluppatori
  3. 3. 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
  4. 4. 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
  5. 5. 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
  6. 6. 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
  7. 7. 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
  8. 8. Storage Demo
  9. 9. 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
  10. 10. Serializzazione • Il framework ha due classi principali: • DataContractSerializer • DataContractJsonSerializer • Json.NET è molto più performante ed è open source http:/json.codeplex.com/ /
  11. 11. Serializzazione Vantaggi: • Facilità d’uso Svantaggi: • Tutti i dati sono caricati in memoria • Non c’è indicizzazione • Ad ogni piccola modifica è necessario salvare l’intera struttura
  12. 12. Serializzazione Demo
  13. 13. 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/ /
  14. 14. 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
  15. 15. SQL CE Demo
  16. 16. 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
  17. 17. 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/ /
  18. 18. 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
  19. 19. SQLite Demo
  20. 20. Vantaggi per gli sviluppatori • Solo 14 euro • Unificazione degli Store • DVLUP (www.dvlup.com) • Promozioni per controlli di terze parti • Visibilità

×