La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Sviluppare applicazioni per dispositivi mobili con Visual Studio 2005 e.NET Compact Framework 2.0 Fabio Santini

Presentazioni simili


Presentazione sul tema: "Sviluppare applicazioni per dispositivi mobili con Visual Studio 2005 e.NET Compact Framework 2.0 Fabio Santini"— Transcript della presentazione:

1 Sviluppare applicazioni per dispositivi mobili con Visual Studio 2005 e.NET Compact Framework 2.0 Fabio Santini fsantini@microsoft.com

2

3 Categorie dei dispositivi Windows Mobile –Dedicato a contenuti multimediali –Interfaccia grafica ottimizzata –Non touch, navigazione tramite telecomando –Capacità di video in e out –PDA e dispositivi convertibili –Dispositivi per la messaggistica –Touch Screen –Tastiere QWERTY –Applicazioni verticali –Piattaforma estendibile –Innanzitutto un telefono –Input tramite Keypad e joystick –Ottimizzati per una navigazione tra le funzionalità ad una mano –Piattaforma estendibile

4 Momento Più di 10 millioni di dispositivi con il.NET Compact Framework in ROM Più di 200,000 sviluppatori su.NET Compact Framework Più di 600,000 download della Service Pack 1

5 Libri In Full In Part

6

7 Piccolo ma compatibile Una copertura del 28% in un 8% di dimensione Non supportate –Server functionality –ASP.NET –Remoting –Code Access Security –Reflection Emit (scripting) –Individual properties, methods, events – classes factored at member level –Managed C++, J# Copy Copy Ground-up rewrite Snapshot & Modify Windows.Forms System.Web.Services Microsoft.DirectX. Direct3DMobile System.Drawing Execution Engine JIT, GC, Loader, assembly cache System.Net System.IO System.Resources System.Threading Microsoft.Win32. Registry System.Cryptography System.IO.Ports System.String System.Text System.Globalization System.Messaging System.Xml System.Data System.Text.Regex Microsoft.VisualBasic System.Collections System.Generic. Collections 86% del.NET Framework 91% dell.NET Framework

8 Compatibilità Le applicazioni sviluppate con versioni precedenti del.NET Compact Framework funzioneranno con la nuova versione –Il goal è il 100% di compatibilità La nuova versione del.NET Compact Framework potrà girare su versioni precedenti di Windows CE e Windows Mobile Dispositivi supportati V1V2 PocketPC 2000 PocletPC 2002 PocketPC 2003, SE SmartPhone 2003 WinCE 4.1 WinCE 4.2 WinCE 5.0 Pocket PC 2003 SE Pocket PC 2005 Smart Phone 2005 WinCE 5.0

9 Controllli Windows.Forms DateTimePicker MonthCalendar DocumentList LinkLabel Notification Bubble Help RichInk WebBrowser DataContainer UserControl

10 Supporto per la Clipboard Nuove proprietà, metodi e eventi –Control.DoubleClick –ToolBarButton tooltips –Più eventi Treeview –ComboBox editabile –Textbox.HideSelection –UserControl –FontCollection Più supporto per la tastiera –Form.KeyPreview –TabIndex, TabStop Funzionalità Windows.Forms HP4300 Tastiera integrata

11 Funzionalità per Smartphone.NET Compact Framework 2.0 Gestione dei dati –SQL Server 2005 Mobile Edition (Windows Mobile 5.0) –DataGrid Textbox IME switching –InputModeEditor Abilitazione di più menu item nel menù di sinistra

12 Networking e Web service Web service –Aumento di prestazioni dovute alla classe XmlSerializer –Supporto per SOAP 1.2 Autenticazione –Kerberos e NTLM –Automaticamente viene selezionato il metodo più sicuro IPv6 WebService service = new WebService(); service.Credentials = new NetworkCredential(username, password, domain);

13 Managed D3D Mobile Incluso in WinCE 5.0 e le future versioni di Windows Mobile –Le API Native derivano da DX8 –Le API Managed derivano da DX9 Funzionalità –Accesso completo alle D3DM API –Supporto ai Fixed point (Vertex Data, Matrices, Lights, e Materials) –Sprite –Font –Mesh –TextureLoader –Tutorials and Samples

14 Emulatori Novità di VS 2005 Beta 2 Emulatori ARM (come i device reali) DMA Trasport Patch (più veloce) –Installare –Da VS 2005 Configurare DMA Transport ActiveSync 4.0 Device Manager nuovo ! –Fare Cradle -> Emulatore == Device !!! –Es. File Explorer - Sincronizzazione Deploy su Device anzichè emulatore

15 DataSet Serializzazione su singola DataTable DataSet.Copy() –Utile per inviare copie per aggiornamento continuando a lavorare con i dati DataSet.GetChanges –Finalmente DataSet.Merge –Per ottenere modifiche incrementali da un WS e unirle al DS corrente

16 DataTable Serialization WriteXml, ReadXml Una DataTable può essere inviata/ricevuta come argomento di un web service private void DeptComplete(string deptName, DataSet ds) { DataTable dt = ds.Tables["DeptDetail"]; DataTable dt = ds.Tables["DeptDetail"]; dt.WriteXml(deptName + ".xml"); dt.WriteXml(deptName + ".xml"); dt.Clear(); dt.Clear();} private void DeptRestore(string deptName, DataSet ds) { DataTable dt = ds.Tables["DeptDetail"]; DataTable dt = ds.Tables["DeptDetail"]; dt.Clear(); dt.Clear(); dt.ReadXml(deptName + ".xml"); dt.ReadXml(deptName + ".xml");}

17 XML Serializer Le classi possono essere serializzate e deserializzate –XmlSerializer disponibile nel framework –Serialize: salva le istanze in XML –Deserialize: legge lXML per ricostruire listanza Controllo sulla Serialization –Costruttore di default –Attribute per controllare il comportamento XmlElement XmlAttribute

18 XPath Supportato da XmlDocument Metodi –SelectNode Restituisce un singolo XmlNode in base al match –SelectNodes Lista di matching node

19 Linguaggio.NET Compact Framework 2.0 Nuove funzionalità del linguaggio –Generics –Metodi anonimi –Iterators –Partial Types

20 I generics sono classi e metodi che lavorano in maniera uniforme su tipi differenti Benefici –Le variabili sono di un tipo ben preciso e non Object –Non è necessario un cast (errori in fase di compilazione) –Riutilizzo reale del codice Generics class Stack { private T[] store; private int size; public Stack() { store = new T[10]; size = 0; } public void Push(T x) { // push code goes here } public T Pop() { return store[--size]; } } void Add(Stack s) { int x = s.Pop(); int y = s.Pop(); s.Push(x+y); }

21 Blocchi di codice incapsulati in delegate Senza metodi anonimi Con metodi anonimi Metodi anonimi button.Click += new EventHandler(sender, args) { // increment a counter or other action }; button.Click += new EventHandler(ProcessClick); // separate method void ProcessClick(object sender, EventArgs e) { // increment a counter or other action }

22 Partial Type Cliente1.cs public partial class Cliente { public void GetOrders() { } } Cliente2.cs public partial class Cliente { public void GetInvoice() { } } Divide la definizione di un tipo in file separati Il compilatore C# combina i file per creare un unica classe La separazione aiuta a mantenere aggiornato il codice sopratutto in presenza di generaziona automatica

23 Visual Studio 2005.NET Compact Framework 2.0

24 Nuove API Managed in Windows Mobile 5.0

25 Pocket Outlook Microsoft.WindowsMobile.PocketOutlook Wrapper sul Pocket Outlook Object Model (POOM) –Espone molte funzionalità di Pocket Office Facilita luso delle informazioni dentro al PIM –Appuntamenti, contatti e task –Account di Email e SMS e messaggi –Recipienti e allegati La classe OutlookSession è la porta dingresso –Wrapper dellapplication objecy di Pocket Outlook

26 Le classi di Pocket Outlook

27 Pocket Outlook PocketOutlook.MessageInterception Fornisce un meccanismo di processo dei messsaggi –Intercetta I messaggi SMS in ingresso –Può eseguire specifiche applicazioni –E possibile impostare dei criteri di selezione –Può togliere il messaggio dalla coda Utile in tante situazioni –Evidenziare alcuni messaggi –Meccanismi di Push dal server –Tasporto di semplici informazioni configurazione

28 Le classi Message Interception

29 Forms Microsoft.WindowsMobile.Forms Fornisce una serie di nuove finestre di dialogo –Foto dalla camera digitale, scelta di un contatto, selezione di un immagine

30 Forms Nuove dialog

31 Forms Esempio // using Microsoft.WindowsMobile.Forms; // using Microsoft.WindowsMobile.PocketOutlook; CameraCaptureDialog cameraCaptureDialog = new CameraCaptureDialog(); cameraCaptureDialog.ShowDialog(); this.image = cameraCaptureDialog.FileName; this.imageDisplay.Image = new Bitmap( this.image ); ChooseContactDialog chooseContactDialog = new ChooseContactDialog(); chooseContactDialog.ShowDialog(); this.contact = chooseContactDialog.SelectedContact; this.contactName.Text = this.contact.FileAs; SelectPictureDialog selectPictureDialog = new SelectPictureDialog(); selectPictureDialog.ShowDialog(); this.picture = selectPictureDialog.FileName; this.pictureDisplay.Image = new Bitmap( this.picture );

32 Nuove API Managed in Windows Mobile 5.0

33 © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.


Scaricare ppt "Sviluppare applicazioni per dispositivi mobili con Visual Studio 2005 e.NET Compact Framework 2.0 Fabio Santini"

Presentazioni simili


Annunci Google