SlideShare ist ein Scribd-Unternehmen logo
1 von 21
Storage in W
indows Phone 8
Tiziano Cacioppolini
.Net Developer @
tiziano.cacioppolini@gmail.com
@diabloxx83
http:/tiziano.cacioppolini.it
/
Agenda
• IsolatedStorage
• Serializzazione
• Database
• I vantaggi per gli sviluppatori
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
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
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
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
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
Storage

Demo
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
Serializzazione

• Il framework ha due classi principali:
• DataContractSerializer
• DataContractJsonSerializer
• Json.NET è molto più performante ed è open source
http:/json.codeplex.com/
/
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
Serializzazione

Demo
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/
/
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
SQL CE

Demo
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
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/
/
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
SQLite

Demo
Vantaggi per gli sviluppatori
• Solo 14 euro
• Unificazione degli Store
• DVLUP (www.dvlup.com)
• Promozioni per controlli di terze parti
• Visibilità

Weitere ähnliche Inhalte

Ähnlich wie Wp storage (online) - tiziano cacioppolini

Dot netcampus2015 green-template
Dot netcampus2015 green-templateDot netcampus2015 green-template
Dot netcampus2015 green-template
DotNetCampus
 
Cert04 70-484 - essentials of developing windows store apps
Cert04   70-484 - essentials of developing windows store appsCert04   70-484 - essentials of developing windows store apps
Cert04 70-484 - essentials of developing windows store apps
DotNetCampus
 
Da Windows Phone a Windows 8: andata e ritorno
Da Windows Phone a Windows 8: andata e ritornoDa Windows Phone a Windows 8: andata e ritorno
Da Windows Phone a Windows 8: andata e ritorno
Matteo Pagani
 

Ähnlich wie Wp storage (online) - tiziano cacioppolini (20)

Il cielo è sempre più azure
Il cielo è sempre più azureIl cielo è sempre più azure
Il cielo è sempre più azure
 
Dominopoint meet the experts 2015 - XPages
Dominopoint   meet the experts 2015 - XPagesDominopoint   meet the experts 2015 - XPages
Dominopoint meet the experts 2015 - XPages
 
MySQL Day Roma 2019 - Le architetture a microservizi e MySQL
MySQL Day Roma 2019 - Le architetture a microservizi e MySQLMySQL Day Roma 2019 - Le architetture a microservizi e MySQL
MySQL Day Roma 2019 - Le architetture a microservizi e MySQL
 
Data flow
Data flowData flow
Data flow
 
Androidsdk appinventor
Androidsdk appinventorAndroidsdk appinventor
Androidsdk appinventor
 
Le basi per lo sviluppo su Windows Phone tool, SDK, il primo progetto
 Le basi per lo sviluppo su Windows Phone tool, SDK, il primo progetto Le basi per lo sviluppo su Windows Phone tool, SDK, il primo progetto
Le basi per lo sviluppo su Windows Phone tool, SDK, il primo progetto
 
Introduzione ad Android
Introduzione ad AndroidIntroduzione ad Android
Introduzione ad Android
 
Mobile e Smart Client
Mobile e Smart ClientMobile e Smart Client
Mobile e Smart Client
 
Database project alla riscossa
Database project alla riscossaDatabase project alla riscossa
Database project alla riscossa
 
Dot netcampus2015 green-template
Dot netcampus2015 green-templateDot netcampus2015 green-template
Dot netcampus2015 green-template
 
DSTORIE DALLA TRINCEA: TEAM FOUNDATION SERVER IN CASI LIMITE E NON SOLO...
DSTORIE DALLA TRINCEA: TEAM FOUNDATION SERVER IN CASI LIMITE E NON SOLO...DSTORIE DALLA TRINCEA: TEAM FOUNDATION SERVER IN CASI LIMITE E NON SOLO...
DSTORIE DALLA TRINCEA: TEAM FOUNDATION SERVER IN CASI LIMITE E NON SOLO...
 
Google AppEngine
Google AppEngineGoogle AppEngine
Google AppEngine
 
Cert04 70-484 - essentials of developing windows store apps
Cert04   70-484 - essentials of developing windows store appsCert04   70-484 - essentials of developing windows store apps
Cert04 70-484 - essentials of developing windows store apps
 
Da Windows Phone a Windows 8: andata e ritorno
Da Windows Phone a Windows 8: andata e ritornoDa Windows Phone a Windows 8: andata e ritorno
Da Windows Phone a Windows 8: andata e ritorno
 
ASP.NET MVC: Andare oltre il 100% (Web@work)
ASP.NET MVC: Andare oltre il 100% (Web@work)ASP.NET MVC: Andare oltre il 100% (Web@work)
ASP.NET MVC: Andare oltre il 100% (Web@work)
 
GWT Development for Handheld Devices
GWT Development for Handheld DevicesGWT Development for Handheld Devices
GWT Development for Handheld Devices
 
Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente
Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente
Back to the Future: Migrare da WebForm ad ASP.NET Core gradualmente
 
IaaS and PaaS relational databases in the cloud
IaaS and PaaS relational databases in the cloudIaaS and PaaS relational databases in the cloud
IaaS and PaaS relational databases in the cloud
 
iOS_Course_1
iOS_Course_1iOS_Course_1
iOS_Course_1
 
Code Contracts and Generics: implementing a LINQ-enabled Repository
Code Contracts and Generics: implementing a LINQ-enabled RepositoryCode Contracts and Generics: implementing a LINQ-enabled Repository
Code Contracts and Generics: implementing a LINQ-enabled Repository
 

Wp storage (online) - tiziano cacioppolini

  • 1.
  • 2. Storage in W indows Phone 8 Tiziano Cacioppolini .Net Developer @ tiziano.cacioppolini@gmail.com @diabloxx83 http:/tiziano.cacioppolini.it /
  • 3. Agenda • IsolatedStorage • Serializzazione • Database • I vantaggi per gli sviluppatori
  • 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/ /
  • 12. 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
  • 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à