Transcript
Page 1: Accesso ai Dati in Windows Phone: Isolated Storage, Database e Data Sharing

ACCESSO AI DATI: STORAGE, DATABASE, DATA SHARING Matteo Pagani

Nokia Developer Champion

Microsoft MVP – Windows Phone Development

Software Engineer @ Funambol

ITALIAN WEBINAR #6

Page 2: Accesso ai Dati in Windows Phone: Isolated Storage, Database e Data Sharing

AGENDA

© 2012 Nokia. All rights reserved. © 2012 Microsoft. All rights reserved.

• Salvare e leggere file nello storage • Serializzazione • Database: SQL CE e SQL Lite

Page 3: Accesso ai Dati in Windows Phone: Isolated Storage, Database e Data Sharing

STORAGE

© 2012 Nokia. All rights reserved. © 2012 Microsoft. All rights reserved.

Page 4: Accesso ai Dati in Windows Phone: Isolated Storage, Database e Data Sharing

• Le applicazioni Windows Phone possono memorizzare i dati in un’area di memoria chiamata «isolated storage»

• Si comporta come un file system tradizionale, ma è isolato: le altre applicazioni non possono accedervi

• Il limite di spazio utilizzabile coincide con la memoria libera del telefono

• Viene eliminato quando l’applicazione viene disinstallata

STORAGE

10/22/2013 © 2012 Nokia. All rights reserved. © 2012 Microsoft. All rights reserved.

Page 5: Accesso ai Dati in Windows Phone: Isolated Storage, Database e Data Sharing

• API incluse nel namespace Windows.Storage

• Nuove API del Windows Runtime con approccio asincrono, differenti da quelle di Windows Phone 7

• ApplicationData.LocalFolder rappresenta la root dello storage

• I file sono rappresentati dalla classe StorageFile

• Le cartelle sono rappresentate dalla classe StorageFolder

• Sono allineate con le API di Windows 8, eccetto per:

• RoamingFolder

• TemporaryFolder

STORAGE

© 2012 Nokia. All rights reserved. © 2012 Microsoft. All rights reserved.

Page 6: Accesso ai Dati in Windows Phone: Isolated Storage, Database e Data Sharing

• In alcuni casi, può essere necessario accedere ai file inclusi nel progetto di Visual Studio

• La Build Action dei file deve essere impostata su Content

• La classe Windows.ApplicationModel.Package.Current.InstalledLocation permette di accedere in sola lettura alle risorse del progetto

• I dati sono rappresentati come StorageFolder e StorageFile, analogamente allo storage

IL PROGETTO

© 2012 Nokia. All rights reserved. © 2012 Microsoft. All rights reserved.

Page 7: Accesso ai Dati in Windows Phone: Isolated Storage, Database e Data Sharing

• La classe IsolatedStorageSettings consente di memorizzare facilmente le impostazioni della nostra applicazioni

• E’ di tipo Dictionary<string, object>: ogni impostazione viene automaticamente serializzata e deserializzata

• Una volta aggiunte / modificate / eliminate le impostazioni occorre sempre chiamare il metodo Save().

• Non allineata con il Windows Runtime: sono le stesse API di Windows Phone 7. Le API del Windows Runtime non sono supportate.

LE IMPOSTAZIONI

© 2012 Nokia. All rights reserved. © 2012 Microsoft. All rights reserved.

Page 8: Accesso ai Dati in Windows Phone: Isolated Storage, Database e Data Sharing

• L’SDK include un tool per accedere allo storage di un’applicazione, ma a riga di comando

• WP Power Tools è un tool di terze parti per esplorare lo storage delle applicazioni dotato di interfaccia grafica

• Funziona sia con l’emulatore che con i device

• Permette di simulare l’aggiornamento delle applicazioni

• http://wptools.codeplex.com/

WINDOWS PHONE POWER TOOLS

© 2012 Nokia. All rights reserved. © 2012 Microsoft. All rights reserved.

Page 9: Accesso ai Dati in Windows Phone: Isolated Storage, Database e Data Sharing

STORAGE Demo

© 2012 Nokia. All rights reserved. © 2012 Microsoft. All rights reserved.

Page 10: Accesso ai Dati in Windows Phone: Isolated Storage, Database e Data Sharing

SERIALIZZAZIONE

© 2012 Nokia. All rights reserved. © 2012 Microsoft. All rights reserved.

Page 11: Accesso ai Dati in Windows Phone: Isolated Storage, Database e Data Sharing

• Nello sviluppo di un’applicazione si lavora con classi ed oggetti

• Tali oggetti complessi non possono essere memorizzati così come sono nello storage

• Serializzazione = conversione di oggetti complessi in una struttura dati piatta, memorizzabile in un file XML o JSON -> Si applica quando i dati vengono modificati

• Deserializzazione = conversione di dati XML o JSON in oggetti complessi -> Si applica al caricamento dell’applicazione

SERIALIZZAZIONE

© 2012 Nokia. All rights reserved. © 2012 Microsoft. All rights reserved.

Page 12: Accesso ai Dati in Windows Phone: Isolated Storage, Database e Data Sharing

• Il framework include due classi per la serializzazione e deserializzazione in formato XML e JSON:

• DataContractSerializer per XML

• DataContractJsonSerializer per JSON

• In caso di utilizzo del formato JSON, è più efficiente affidarsi a JSON.NET: http://json.codeplex.com/

SERIALIZZAZIONE

© 2012 Nokia. All rights reserved. © 2012 Microsoft. All rights reserved.

Page 13: Accesso ai Dati in Windows Phone: Isolated Storage, Database e Data Sharing

• Vantaggi

• Semplice da implementare

• Velocità nell’accesso e nella manipolazione dei dati

• Svantaggi

• L’intera struttura dati deve essere mantenuta in memoria

• Nessuna indicizzazione dei dati

• Ad ogni aggiornamento dei dati, occorre salvare l’intera struttura

SERIALIZZAZIONE

© 2012 Nokia. All rights reserved. © 2012 Microsoft. All rights reserved.

Page 14: Accesso ai Dati in Windows Phone: Isolated Storage, Database e Data Sharing

SERIALIZZAZIONE Demo

© 2012 Nokia. All rights reserved. © 2012 Microsoft. All rights reserved.

Page 15: Accesso ai Dati in Windows Phone: Isolated Storage, Database e Data Sharing

DATABASE

© 2012 Nokia. All rights reserved. © 2012 Microsoft. All rights reserved.

Page 16: Accesso ai Dati in Windows Phone: Isolated Storage, Database e Data Sharing

• Introdotto a partire da Windows Phone 7.5

• Engine proprietario di Microsoft per la gestione di database disconnessi e memorizzati su singolo file

• Viene utilizzata la versione 3.5 di SQL CE

• LINQ to SQL come ORM per la manipolazione dei dati

• Approccio code first: si definisce la struttura del database da codice:

• Le entità rappresentano le tabelle

• Le proprietà rappresentano le colonne

SQL CE

© 2012 Nokia. All rights reserved. © 2012 Microsoft. All rights reserved.

Page 17: Accesso ai Dati in Windows Phone: Isolated Storage, Database e Data Sharing

• Supporta la possibilità di gestire l’aggiornamento dello schema del database

• Supporta indici e relazioni

• Supporta il lazy loading nelle relazioni (i dati della relazione vengono caricati solo quando effettivamente richiesti)

• Non è possibile eseguire query SQL in maniera tradizionale

• Due modalità di accesso:

• Lettura e scrittura (database nello storage)

• Sola lettura (database nel progetto di Visual Studio)

SQL CE

© 2012 Nokia. All rights reserved. © 2012 Microsoft. All rights reserved.

Page 18: Accesso ai Dati in Windows Phone: Isolated Storage, Database e Data Sharing

• Tool di terze parti che semplifica la gestione del database SQL CE

• Disponibile sia come add-in di Visual Studio che come applicazione a sé

• Feature principali:

• Generazione automatica delle classi per Windows Phone partendo da un DB già esistente

• Possibilità di includere un database pre popolato nel progetto e copiarlo nello storage

• Editor visuale del database (VS2012 supporta solo SQL CE 4.0)

• http://sqlcetoolbox.codeplex.com

• http://www.microsoft.com/en-us/download/confirmation.aspx?id=5783

SQL CE TOOLBOX

© 2012 Nokia. All rights reserved. © 2012 Microsoft. All rights reserved.

Page 19: Accesso ai Dati in Windows Phone: Isolated Storage, Database e Data Sharing

• Vantaggi:

• E’ il più versatile e completo disponibile su Windows Phone, in termini di potenzialità e semplicità d’uso

• Svantaggi:

• Performance non eccellenti in presenza di grandi quantità di dati

• E’ compatibile solamente con Windows Phone 7 e 8, non è portabile su altre piattaforme

SQL CE

© 2012 Nokia. All rights reserved. © 2012 Microsoft. All rights reserved.

Page 20: Accesso ai Dati in Windows Phone: Isolated Storage, Database e Data Sharing

SQL CE Demo

© 2012 Nokia. All rights reserved. © 2012 Microsoft. All rights reserved.

Page 21: Accesso ai Dati in Windows Phone: Isolated Storage, Database e Data Sharing

• Introdotto in Windows Phone 8, grazie al supporto al codice nativo del Windows Runtime

• Simile a SQL CE (database disconnesso memorizzato su singolo file), ma open source e multi piattaforma

• Al contrario di SQL CE, non è supportato nativamente dal sistema operativo: sono necessarie librerie esterne, dato che l’engine di SQLite è mantenuto da terze parti

SQLITE

© 2012 Nokia. All rights reserved. © 2012 Microsoft. All rights reserved.

Page 22: Accesso ai Dati in Windows Phone: Isolated Storage, Database e Data Sharing

• Estensione per Visual Studio per installare l’engine: http://s.qmatteoq.com/SQLiteWP

• Due librerie disponibili:

• Sqlite-net, che offre un approccio ORM basato su LINQ: http://s.qmatteoq.com/sqlite-net-wp8

• Sqlite wrapper, che supporta solamente l’esecuzione di query SQL: http://s.qmatteoq.com/sqlite-net-wp8

SQLITE

© 2012 Nokia. All rights reserved. © 2012 Microsoft. All rights reserved.

Page 23: Accesso ai Dati in Windows Phone: Isolated Storage, Database e Data Sharing

• Vantaggi:

• Performance molto buone

• Engine cross platform

• Lo strato di accesso ai dati è condivisibile con le Windows Store app di Windows 8

• Svantaggi:

• Sqlite-net semplice da usare, ma limitato (no supporto relazioni)

• Sqlite Wrapper potente, ma complesso (solo query SQL)

• Non compatibile con Windows Phone 7, a meno di non utilizzare un porting dell’engine di terze parti

SQLITE

© 2012 Nokia. All rights reserved. © 2012 Microsoft. All rights reserved.

Page 24: Accesso ai Dati in Windows Phone: Isolated Storage, Database e Data Sharing

SQLITE Demo

© 2012 Nokia. All rights reserved. © 2012 Microsoft. All rights reserved.

Page 25: Accesso ai Dati in Windows Phone: Isolated Storage, Database e Data Sharing

NOKIA WORLD

© 2012 Nokia. All rights reserved. © 2012 Microsoft. All rights reserved.

Page 26: Accesso ai Dati in Windows Phone: Isolated Storage, Database e Data Sharing

LUMIA 1320 & LUMIA 1520

© 2012 Nokia. All rights reserved. © 2012 Microsoft. All rights reserved.

Page 27: Accesso ai Dati in Windows Phone: Isolated Storage, Database e Data Sharing

• Tre colonne di tile, rispetto agli altri device

• Lumia 1520: risoluzione 1080p (1080x1920)

• Lumia 1320: risoluzione 720p (720x1280)

• Entrambi hanno un aspect ratio di 16:9, contro i 15:9 delle altre risoluzioni

• Supportata pienamente solo da Windows Phone 8

• A breve update dell’SDK con un nuovo emulatore per testare la nuova risoluzione

LUMIA 1320 & LUMIA 1520

© 2012 Nokia. All rights reserved. © 2012 Microsoft. All rights reserved.

Page 28: Accesso ai Dati in Windows Phone: Isolated Storage, Database e Data Sharing

LUMIA 2520

© 2012 Nokia. All rights reserved. © 2012 Microsoft. All rights reserved.

Page 29: Accesso ai Dati in Windows Phone: Isolated Storage, Database e Data Sharing

• Tablet con Windows 8.1 RT

• Display 10.1 da 1080p (1920x1080)

• Processore Quad Core Qualcomm Snapdragon 800 a 2.2 GHz

• Windows Runtime, condiviso in parte con il runtime di Windows Phone

• Nuova opportunità per gli sviluppatori Nokia: porting delle applicazioni Windows Phone su Windows 8 per offrire agli utenti un’esperienza completa

LUMIA 2520

© 2012 Nokia. All rights reserved. © 2012 Microsoft. All rights reserved.

Page 30: Accesso ai Dati in Windows Phone: Isolated Storage, Database e Data Sharing

• Nuovo programma di Nokia per gli sviluppatori iscritti a DVLUP

• Include:

• Iscrizione o rinnovo per lo store di Windows Phone

• BugSense Performance Monitoring Solution

• Telerik Rad Controls

• Infragistics NetAdvantage controls

NOKIA DEVELOPER OFFERS

© 2012 Nokia. All rights reserved. © 2012 Microsoft. All rights reserved.

Page 31: Accesso ai Dati in Windows Phone: Isolated Storage, Database e Data Sharing

• Gratuito

• Occorre aver sviluppato e pubblicato almeno 2 applicazioni per qualsiasi piattaforma mobile

• Se siete già iscritti al Nokia Developer Premium program, è richiesto aver pubblicato almeno 1 app successivamente all’iscrizione

• Per continuare a far parte del programma e accedere ai nuovi bonus futuri, è necessario pubblicare o aggiornare un’app entro 6 mesi dall’iscrizione

• http://developer.nokia.com/Developer_Programs/nokia_developer_offers.xhtml

NOKIA DEVELOPER OFFERS

© 2012 Nokia. All rights reserved. © 2012 Microsoft. All rights reserved.

Page 32: Accesso ai Dati in Windows Phone: Isolated Storage, Database e Data Sharing

10/22/2013 © 2012 Nokia. All rights reserved. © 2012 Microsoft. All rights reserved.

Grazie!

Blog:

http://www.qmatteoq.com

http://wp.qmatteoq.com

Twitter: @qmatteoq

Mail: [email protected]

Materiale su http://sdrv.ms/17VccT8


Recommended