Accesso ai Dati in Windows Phone: Isolated Storage, Database e Data Sharing
-
Upload
microsoft-mobile-developer -
Category
Documents
-
view
1.061 -
download
0
description
Transcript of Accesso ai Dati in Windows Phone: Isolated Storage, Database e Data Sharing
![Page 1: Accesso ai Dati in Windows Phone: Isolated Storage, Database e Data Sharing](https://reader033.fdocuments.in/reader033/viewer/2022052410/555c75bfd8b42adc358b48c9/html5/thumbnails/1.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022052410/555c75bfd8b42adc358b48c9/html5/thumbnails/2.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022052410/555c75bfd8b42adc358b48c9/html5/thumbnails/3.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022052410/555c75bfd8b42adc358b48c9/html5/thumbnails/4.jpg)
• 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](https://reader033.fdocuments.in/reader033/viewer/2022052410/555c75bfd8b42adc358b48c9/html5/thumbnails/5.jpg)
• 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](https://reader033.fdocuments.in/reader033/viewer/2022052410/555c75bfd8b42adc358b48c9/html5/thumbnails/6.jpg)
• 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](https://reader033.fdocuments.in/reader033/viewer/2022052410/555c75bfd8b42adc358b48c9/html5/thumbnails/7.jpg)
• 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](https://reader033.fdocuments.in/reader033/viewer/2022052410/555c75bfd8b42adc358b48c9/html5/thumbnails/8.jpg)
• 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](https://reader033.fdocuments.in/reader033/viewer/2022052410/555c75bfd8b42adc358b48c9/html5/thumbnails/9.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022052410/555c75bfd8b42adc358b48c9/html5/thumbnails/10.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022052410/555c75bfd8b42adc358b48c9/html5/thumbnails/11.jpg)
• 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](https://reader033.fdocuments.in/reader033/viewer/2022052410/555c75bfd8b42adc358b48c9/html5/thumbnails/12.jpg)
• 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](https://reader033.fdocuments.in/reader033/viewer/2022052410/555c75bfd8b42adc358b48c9/html5/thumbnails/13.jpg)
• 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](https://reader033.fdocuments.in/reader033/viewer/2022052410/555c75bfd8b42adc358b48c9/html5/thumbnails/14.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022052410/555c75bfd8b42adc358b48c9/html5/thumbnails/15.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022052410/555c75bfd8b42adc358b48c9/html5/thumbnails/16.jpg)
• 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](https://reader033.fdocuments.in/reader033/viewer/2022052410/555c75bfd8b42adc358b48c9/html5/thumbnails/17.jpg)
• 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](https://reader033.fdocuments.in/reader033/viewer/2022052410/555c75bfd8b42adc358b48c9/html5/thumbnails/18.jpg)
• 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](https://reader033.fdocuments.in/reader033/viewer/2022052410/555c75bfd8b42adc358b48c9/html5/thumbnails/19.jpg)
• 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](https://reader033.fdocuments.in/reader033/viewer/2022052410/555c75bfd8b42adc358b48c9/html5/thumbnails/20.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022052410/555c75bfd8b42adc358b48c9/html5/thumbnails/21.jpg)
• 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](https://reader033.fdocuments.in/reader033/viewer/2022052410/555c75bfd8b42adc358b48c9/html5/thumbnails/22.jpg)
• 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](https://reader033.fdocuments.in/reader033/viewer/2022052410/555c75bfd8b42adc358b48c9/html5/thumbnails/23.jpg)
• 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](https://reader033.fdocuments.in/reader033/viewer/2022052410/555c75bfd8b42adc358b48c9/html5/thumbnails/24.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022052410/555c75bfd8b42adc358b48c9/html5/thumbnails/25.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022052410/555c75bfd8b42adc358b48c9/html5/thumbnails/26.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022052410/555c75bfd8b42adc358b48c9/html5/thumbnails/27.jpg)
• 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](https://reader033.fdocuments.in/reader033/viewer/2022052410/555c75bfd8b42adc358b48c9/html5/thumbnails/28.jpg)
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](https://reader033.fdocuments.in/reader033/viewer/2022052410/555c75bfd8b42adc358b48c9/html5/thumbnails/29.jpg)
• 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](https://reader033.fdocuments.in/reader033/viewer/2022052410/555c75bfd8b42adc358b48c9/html5/thumbnails/30.jpg)
• 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](https://reader033.fdocuments.in/reader033/viewer/2022052410/555c75bfd8b42adc358b48c9/html5/thumbnails/31.jpg)
• 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](https://reader033.fdocuments.in/reader033/viewer/2022052410/555c75bfd8b42adc358b48c9/html5/thumbnails/32.jpg)
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