Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoBonfilio Greco Modificato 10 anni fa
1
Sviluppare applicazioni per dispositivi mobili con Visual Studio 2005 e.NET Compact Framework 2.0 Fabio Santini fsantini@microsoft.com
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
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.
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.