Desenvolvimento para Windows Mobile – Por onde começar? <br />Marcus Dorbação<br />mdorbacao@message.com.br<br />
Agenda<br /><ul><li> Introdução
 Plataforma Windows Mobile
 Introdução ao .NET Compact Framework 3.5
 Por onde começar?
 “Hello World !”
 Packaging & Deployment
 GUI (Graphical User Interface)</li></li></ul><li>Agenda<br /><ul><li> SQL Server Mobile 2005
API´S de interação com o dispositivo
 Dicas, truques e boas práticas
 Conclusão
 Links</li></li></ul><li>Introdução<br /><ul><li> As pessoas precisam de informação nas pontas dos dedos, em qualquer luga...
 Acesso a informação não é o suficiente. É preciso inteligência na aquisição.</li></li></ul><li>Plataforma Windows Mobile<...
Plataforma Windows Mobile<br />Arquitetura<br /><ul><li> Windows CE
 API Win32 comum a todos os dispositivos.
 Acesso simplificado e padronizado aos recursos de Hardware
 Versão “móvel” de ferramentas de produtividade.</li></ul>	- Excel Mobile, Word Mobile,  Pocket Outlook<br />
Introdução ao .NET CF 3.5<br /><ul><li> Framework, Compact Framework e Micro Framework
 Desenvolvido para trazer o mundo de código gerenciado para a plataforma windowsmobile.
 Mesma família de classes e hierarquia de Namespaces da framework.
 O .NET CF representa 30% da framework completa.</li></li></ul><li>Introdução ao .NET CF 3.5<br />O que tem e o que não te...
Por onde começar?<br />Windows Mobile Device Center 6.1<br />ActiveSync 4.5 para Windows XP & Server 2003<br />Visual Stud...
Por onde começar?<br />A instalação do VS inclui...<br />Remote Tools<br />Remote Registry Editor<br />Remote File Viewer<...
Por onde começar?<br />SDKs das plataformas a suportar<br />Windows Mobile 2003 & 5.0 SDK<br />incluído na instalação do V...
Hello World !<br />Demo<br />Criando meu Hello World !<br />
Hello World !<br />Executar no emulador<br />Executar direto no device<br />Depuração<br />
Packaging & Deployment<br />Criação do ficheiro CAB<br />Modelo .CAB para instalação nos equipamentos Windows Mobile<br />...
Packaging & Deployment<br />Demo<br />Distribuindo a aplicação com ficheiros CAB<br />
Packaging & Deployment<br />Distribuindo a aplicação com ficheiro CAB<br />Definindo o projeto que será instalado<br /><ul...
Programs Folder</li></li></ul><li>Packaging & Deployment<br />Distribuindo a aplicação com ficheiro CAB<br />Instalando a ...
Instalando pela internet</li></li></ul><li>Informaçãopessoal<br />Sessão de Outlook<br />API´S de interação com o disposit...
Informaçãopessoal<br />Sessão de Outlook<br />API´S de interação com o dispositivo<br /><ul><li>Microsoft.WindowsMobile.Po...
API´S de interação com o dispositivo<br />Demo<br />Monitorando SMS de um contato<br />
API´S de interação com o dispositivo<br />
API´S de interação com o dispositivo<br />Microsoft.WindowsMobile.PocketOutlook<br />OutlookSession outlookSession = new O...
API´S de interação com o dispositivo<br />Microsoft.WindowsMobile.PocketOutlook.MessageInterceptor<br />interceptorSMS = n...
API´S de interação com o dispositivo<br />Device State and Notification<br />Abordagemconsistente<br />Mais de 150 estados...
Upcoming SlideShare
Loading in …5
×

Desenvolvimento Mobile com Visual Studio 2008, por onde começar?

7,094 views
6,911 views

Published on

Apresentarção do .NET Compact Framework.
Explicitando principais recursos do desenvolvimento mobile com framework 3.5, acesso a dados, replicação e gerenciamento do dispositivo.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
7,094
On SlideShare
0
From Embeds
0
Number of Embeds
9
Actions
Shares
0
Downloads
69
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Desenvolvimento Mobile com Visual Studio 2008, por onde começar?

  1. 1.
  2. 2. Desenvolvimento para Windows Mobile – Por onde começar? <br />Marcus Dorbação<br />mdorbacao@message.com.br<br />
  3. 3. Agenda<br /><ul><li> Introdução
  4. 4. Plataforma Windows Mobile
  5. 5. Introdução ao .NET Compact Framework 3.5
  6. 6. Por onde começar?
  7. 7. “Hello World !”
  8. 8. Packaging & Deployment
  9. 9. GUI (Graphical User Interface)</li></li></ul><li>Agenda<br /><ul><li> SQL Server Mobile 2005
  10. 10. API´S de interação com o dispositivo
  11. 11. Dicas, truques e boas práticas
  12. 12. Conclusão
  13. 13. Links</li></li></ul><li>Introdução<br /><ul><li> As pessoas precisam de informação nas pontas dos dedos, em qualquer lugar, à qualquer hora.
  14. 14. Acesso a informação não é o suficiente. É preciso inteligência na aquisição.</li></li></ul><li>Plataforma Windows Mobile<br />Devices<br /><ul><li> Existem basicamente três tipos de dispositivos.</li></ul> - Pocket PC<br /> - Smartphone<br /> - Pocket PC PhoneEdition<br />
  15. 15. Plataforma Windows Mobile<br />Arquitetura<br /><ul><li> Windows CE
  16. 16. API Win32 comum a todos os dispositivos.
  17. 17. Acesso simplificado e padronizado aos recursos de Hardware
  18. 18. Versão “móvel” de ferramentas de produtividade.</li></ul> - Excel Mobile, Word Mobile, Pocket Outlook<br />
  19. 19. Introdução ao .NET CF 3.5<br /><ul><li> Framework, Compact Framework e Micro Framework
  20. 20. Desenvolvido para trazer o mundo de código gerenciado para a plataforma windowsmobile.
  21. 21. Mesma família de classes e hierarquia de Namespaces da framework.
  22. 22. O .NET CF representa 30% da framework completa.</li></li></ul><li>Introdução ao .NET CF 3.5<br />O que tem e o que não tem?<br />
  23. 23. Por onde começar?<br />Windows Mobile Device Center 6.1<br />ActiveSync 4.5 para Windows XP & Server 2003<br />Visual Studio 2008 Professional<br />Versões Express e Standard não suportam o desenvolvimento para Windows Mobile<br />Suporta .NET CF 2.0 e 3.5<br />Versão 2005 suporta .NET CF 1.0 e 2.0<br />Versão 2003 suporta .NET CF 1.0<br />Opções para desenvolvimento sem Visual Studio<br /> http://www.codeproject.com/KB/mobile/WiMoSansVS.aspx<br />
  24. 24. Por onde começar?<br />A instalação do VS inclui...<br />Remote Tools<br />Remote Registry Editor<br />Remote File Viewer<br />Remote Process Viewer<br />Remote Zoom In<br />...<br />
  25. 25. Por onde começar?<br />SDKs das plataformas a suportar<br />Windows Mobile 2003 & 5.0 SDK<br />incluído na instalação do VS2008<br />Windows Mobile 6 SDK<br />http://www.microsoft.com/downloads/details.aspx?familyid=06111A3A-A651-4745-88EF-3D48091A390B&displaylang=en<br />Professional para equipamentos com tela sensível ao toque<br />Inclui equipamentos ‘Classic’ (sem telefone)<br />Standard para equipamentos sem tela sensível ao toque<br />Inclui Device Emulator Manager, Cellular Emulator, FakeGPS, Samples<br />
  26. 26. Hello World !<br />Demo<br />Criando meu Hello World !<br />
  27. 27. Hello World !<br />Executar no emulador<br />Executar direto no device<br />Depuração<br />
  28. 28. Packaging & Deployment<br />Criação do ficheiro CAB<br />Modelo .CAB para instalação nos equipamentos Windows Mobile<br />Permite instalação directa no equipamento<br />A partir de cartão de memória (c/ eventual auto-instalação na inserção do cartão)<br />Cópia manual<br />Envio por mail<br />Download (directo ou página criada para o efeito)<br />Link directo pode ser enviado por SMS<br />Com o .CAB pode-se...<br />Copiar ficheiros para pastas próprias e de sistema<br />Criar atalhos<br />Inserir valores no Registry<br />
  29. 29. Packaging & Deployment<br />Demo<br />Distribuindo a aplicação com ficheiros CAB<br />
  30. 30. Packaging & Deployment<br />Distribuindo a aplicação com ficheiro CAB<br />Definindo o projeto que será instalado<br /><ul><li>Application Folder
  31. 31. Programs Folder</li></li></ul><li>Packaging & Deployment<br />Distribuindo a aplicação com ficheiro CAB<br />Instalando a aplicação no meu device<br /><ul><li>Instalando pelo SD card
  32. 32. Instalando pela internet</li></li></ul><li>Informaçãopessoal<br />Sessão de Outlook<br />API´S de interação com o dispositivo<br /><ul><li>Microsoft.WindowsMobile.PocketOutlook</li></ul>Contactos<br />Compromissos<br />Tarefas<br />Logs into database<br />Importantefazer o dispose<br />
  33. 33. Informaçãopessoal<br />Sessão de Outlook<br />API´S de interação com o dispositivo<br /><ul><li>Microsoft.WindowsMobile.PocketOutlook</li></ul>Contactos<br />Compromissos<br />Tarefas<br />Logs into database<br />Importantefazer o dispose<br />
  34. 34. API´S de interação com o dispositivo<br />Demo<br />Monitorando SMS de um contato<br />
  35. 35. API´S de interação com o dispositivo<br />
  36. 36. API´S de interação com o dispositivo<br />Microsoft.WindowsMobile.PocketOutlook<br />OutlookSession outlookSession = new OutlookSession();<br />cmbContatos.DataSource = outlookSession.Contacts.Items;<br />cmbContatos.DisplayMember = "FirstName";<br />cmbContatos.ValueMember = "ItemId“;<br />Carregandooscontatos...<br />
  37. 37. API´S de interação com o dispositivo<br />Microsoft.WindowsMobile.PocketOutlook.MessageInterceptor<br />interceptorSMS = new MessageInterceptor();<br />interceptorSMS.InterceptionAction = InterceptionAction.Notify;<br />interceptorSMS.MessageReceived += new MessageInterceptorEventHandler(interceptorSMS_MessageReceived);<br />void interceptorSMS_MessageReceived(object sender, MessageInterceptorEventArgs e)<br />{<br /> Contact contato = (Contact)cmbContatos.SelectedItem;<br />if (e.Message.From.Address.Contains(contato.MobileTelephoneNumber))<br /> lblContato.Text = GetMessage(contato, e);<br /> else<br /> lblContato.Text = "";<br />}<br />
  38. 38. API´S de interação com o dispositivo<br />Device State and Notification<br />Abordagemconsistente<br />Mais de 150 estadospré-definidos<br />Messaging<br />Telefone<br />Rede<br />Compromissos<br />Media Player<br />Hardware disponível<br />
  39. 39. API´S de interação com o dispositivo<br />Demo<br />Interceptando uma ligação<br />
  40. 40. API´S de interação com o dispositivo<br />Microsoft.WindowsMobile.Status<br />
  41. 41. API´S de interação com o dispositivo<br />Microsoft.WindowsMobile.Status<br />private SystemState telefone; //Global<br />this.telefone = new SystemState(SystemProperty.PhoneTalkingCallerContact, true);<br />this.telefone.Changed += new ChangeEventHandler(telefone_Changed);<br />void telefone_Changed(object sender, ChangeEventArgs args)<br /> {<br /> if (args.NewValue != null)<br /> {<br /> OutlookSession outlookSession = new OutlookSession();<br /> ItemId itemId = new ItemId((int)args.NewValue);<br /> Contact contact = new Contact(itemId);<br /> lblNome.Text = contact.FirstName;<br /> lblTelefone.Text = contact.MobileTelephoneNumber.ToString();<br /> lblInicio.Text = DateTime.Now.ToString();<br /> }<br /> else<br /> {<br /> lblFim.Text = DateTime.Now.ToString();<br /> this.Activate();<br /> }<br /> }<br />
  42. 42. API´S de interação com o dispositivo<br />Demo<br />Captura de elementos multimidia<br />
  43. 43. API´S de interação com o dispositivo<br />Captura de elementos multimidia<br />Microsoft.WindowsMobile.Forms<br />Interatividade com a câmera do device<br />const string path = @"Arquivos de ProgramasMobileToolKit";<br />CameraCaptureDialog camera = new CameraCaptureDialog();<br />camera.Mode = CameraCaptureMode.Still;<br />camera.StillQuality = CameraCaptureStillQuality.High;<br />camera.InitialDirectory = path;<br />camera.DefaultFileName = @"foto.jpg";<br />if (camera.ShowDialog() == DialogResult.OK)<br />{<br /> Bitmap bitmap = new Bitmap(<br /> string.Format(@"{0}{1}", path, <br /> camera.DefaultFileName));<br /> pictureBox1.Image = bitmap;<br />}<br />
  44. 44. GUI – GraphicalUser interface<br />
  45. 45. GUI – GraphicalUser interface<br />Demo<br />GUI – Carregando uma TreeView<br />
  46. 46. GUI – GraphicalUser interface<br />PopulandoTreeView<br />UsandoXMLDocument()<br />Leitura de arquivo<br />
  47. 47. GUI – GraphicalUser Interface<br />const string filePath = @"Arquivos de ProgramasTreeViewBasicaTreeView.xml";<br />XmlDocument xmlDocument = new XmlDocument();<br />xmlDocument.Load(filePath);<br />XmlNodeList xmlNodeList = xmlDocument.DocumentElement.ChildNodes;<br />Populate(treeView1.Nodes, xmlNodeList);<br />XmlDocument xmlDocument = new XmlDocument();<br />private void Populate(TreeNodeCollection treeNodeCollection, XmlNodeList xmlNodeList)<br />{<br /> foreach (XmlNode item in xmlNodeList)<br /> {<br /> TreeNode treeNode = new TreeNode(item.Name);<br /> treeNodeCollection.Add(treeNode);<br /> if (item.HasChildNodes)<br /> Populate(treeNode.Nodes, item.ChildNodes);<br /> }<br />}<br />
  48. 48. SQL Server CompactEdition 3.5<br />Demo<br />Northwind – Inserting, selecting & replication<br />
  49. 49. SQL Server CompactEdition 3.5<br />
  50. 50. SQL Server CompactEdition 3.5<br />
  51. 51. SQL Server CompactEdition 3.5<br />

×