SlideShare uma empresa Scribd logo
Desenvolvimento Mobile com Visual Studio 2008, por onde começar?
Desenvolvimento para Windows Mobile – Por onde começar? Marcus Dorbaçãomdorbacao@message.com.br
Agenda 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)Agenda SQL Server Mobile 2005
API´S de interação com o dispositivo
 Dicas, truques e boas práticas
 Conclusão
 LinksIntrodução As pessoas precisam de informação nas pontas dos dedos, em qualquer lugar, à qualquer hora.
 Acesso a informação não é o suficiente. É preciso inteligência na aquisição.Plataforma Windows MobileDevices Existem basicamente três tipos de dispositivos.	- Pocket PC	- Smartphone	- Pocket PC PhoneEdition
Plataforma Windows MobileArquitetura 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.	- Excel Mobile, Word Mobile,  Pocket Outlook
Introdução ao .NET CF 3.5 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.Introdução ao .NET CF 3.5O que tem e o que não tem?
Por onde começar?Windows Mobile Device Center 6.1ActiveSync 4.5 para Windows XP & Server 2003Visual Studio 2008 ProfessionalVersões Express e Standard não suportam o desenvolvimento para Windows MobileSuporta .NET CF 2.0 e 3.5Versão 2005 suporta .NET CF 1.0 e 2.0Versão 2003 suporta .NET CF 1.0Opções para desenvolvimento sem Visual Studio	http://www.codeproject.com/KB/mobile/WiMoSansVS.aspx
Por onde começar?A instalação do VS inclui...Remote ToolsRemote Registry EditorRemote File ViewerRemote Process ViewerRemote Zoom In...
Por onde começar?SDKs das plataformas a suportarWindows Mobile 2003 & 5.0 SDKincluído na instalação do VS2008Windows Mobile 6 SDKhttp://www.microsoft.com/downloads/details.aspx?familyid=06111A3A-A651-4745-88EF-3D48091A390B&displaylang=enProfessional para equipamentos com tela sensível ao toqueInclui equipamentos ‘Classic’ (sem telefone)Standard para equipamentos sem tela sensível ao toqueInclui Device Emulator Manager, Cellular Emulator, FakeGPS, Samples
Hello World !DemoCriando meu Hello World !
Hello World !Executar no emuladorExecutar direto no deviceDepuração
Packaging & DeploymentCriação do ficheiro CABModelo .CAB para instalação nos equipamentos Windows MobilePermite instalação directa no equipamentoA partir de cartão de memória (c/ eventual auto-instalação na inserção do cartão)Cópia manualEnvio por mailDownload (directo ou página criada para o efeito)Link directo pode ser enviado por SMSCom o .CAB pode-se...Copiar ficheiros para pastas próprias e de sistemaCriar atalhosInserir valores no Registry
Packaging & DeploymentDemoDistribuindo a aplicação com ficheiros CAB
Packaging & DeploymentDistribuindo a aplicação com ficheiro CABDefinindo o projeto que será instaladoApplication  Folder
Programs FolderPackaging & DeploymentDistribuindo a aplicação com ficheiro CABInstalando a aplicação no meu deviceInstalando pelo SD card
Instalando pela internetInformaçãopessoalSessão de OutlookAPI´S de interação com o dispositivoMicrosoft.WindowsMobile.PocketOutlookContactosCompromissosTarefasLogs into databaseImportantefazer o dispose
InformaçãopessoalSessão de OutlookAPI´S de interação com o dispositivoMicrosoft.WindowsMobile.PocketOutlookContactosCompromissosTarefasLogs into databaseImportantefazer o dispose
API´S de interação com o dispositivoDemoMonitorando SMS de um contato
API´S de interação com o dispositivo
API´S de interação com o dispositivoMicrosoft.WindowsMobile.PocketOutlookOutlookSession outlookSession = new OutlookSession();cmbContatos.DataSource = outlookSession.Contacts.Items;cmbContatos.DisplayMember = "FirstName";cmbContatos.ValueMember = "ItemId“;Carregandooscontatos...
API´S de interação com o dispositivoMicrosoft.WindowsMobile.PocketOutlook.MessageInterceptorinterceptorSMS = new MessageInterceptor();interceptorSMS.InterceptionAction = InterceptionAction.Notify;interceptorSMS.MessageReceived += new MessageInterceptorEventHandler(interceptorSMS_MessageReceived);void interceptorSMS_MessageReceived(object sender, MessageInterceptorEventArgs e){	Contact contato = (Contact)cmbContatos.SelectedItem;if (e.Message.From.Address.Contains(contato.MobileTelephoneNumber))		lblContato.Text = GetMessage(contato, e);	else		lblContato.Text = "";}
API´S de interação com o dispositivoDevice State and NotificationAbordagemconsistenteMais de 150 estadospré-definidosMessagingTelefoneRedeCompromissosMedia PlayerHardware disponível

Mais conteúdo relacionado

PPT
Mobile Ria Para Aplicacoes Para Negocios
PPT
10 android - leonardo
PPTX
DevBrasil Open Day 2013 - Desenvolvimento para Windows Phone 8
PPTX
Java x .NET - Windows phone 7 e o Desenvolvimento com Silverlight e XNA
PDF
Aplicações móveis multi-plataforma com Titanium - Geek Night
PPTX
Apresentação de Desenvolvimento e Negócios para Windows Phone
PPTX
Overview do Windows Phone 7 Series
PDF
Titanium Mobile - Campus Party Recife 2
Mobile Ria Para Aplicacoes Para Negocios
10 android - leonardo
DevBrasil Open Day 2013 - Desenvolvimento para Windows Phone 8
Java x .NET - Windows phone 7 e o Desenvolvimento com Silverlight e XNA
Aplicações móveis multi-plataforma com Titanium - Geek Night
Apresentação de Desenvolvimento e Negócios para Windows Phone
Overview do Windows Phone 7 Series
Titanium Mobile - Campus Party Recife 2

Mais procurados (19)

PDF
Titanium Mobile apresentado na Campus Party Recife
PPT
Windows Phone 7 & Windows Azure
PDF
Desenvolvendo aplicações Adobe AIR para Android
PDF
Introdução ao Titanium Mobile
PPTX
Conhecendo o Windows Phone 7
PPTX
Visão Geral sobre a plataforma de aplicações do Windows Phone 7
PPTX
Introdução Silverlight Windows Phone
PPTX
Silverlight no MIC Summer 2011
PDF
Desenvolvimento android
PPTX
Construindo aplicações para o Windows Phone com Silverlight
PPSX
Introdução ao Microsoft Silverlight
PDF
Apostilaandroidfatecnormal
PDF
Apostila de programacao java
PDF
Trabalhando Análise Qualitativa em seu Aplicativo Android
PPTX
Introdução à Versão 8.0 do Supervisório InduSoft Web Studio
ODP
Concurso widgets da TMN
PPT
DotNet vs. Java
PDF
Componentes customizados: Android te dá asas!
PPTX
Utilizando o Padrão Presentation Model em Aplicações Flex
Titanium Mobile apresentado na Campus Party Recife
Windows Phone 7 & Windows Azure
Desenvolvendo aplicações Adobe AIR para Android
Introdução ao Titanium Mobile
Conhecendo o Windows Phone 7
Visão Geral sobre a plataforma de aplicações do Windows Phone 7
Introdução Silverlight Windows Phone
Silverlight no MIC Summer 2011
Desenvolvimento android
Construindo aplicações para o Windows Phone com Silverlight
Introdução ao Microsoft Silverlight
Apostilaandroidfatecnormal
Apostila de programacao java
Trabalhando Análise Qualitativa em seu Aplicativo Android
Introdução à Versão 8.0 do Supervisório InduSoft Web Studio
Concurso widgets da TMN
DotNet vs. Java
Componentes customizados: Android te dá asas!
Utilizando o Padrão Presentation Model em Aplicações Flex
Anúncio

Semelhante a Desenvolvimento Mobile com Visual Studio 2008, por onde começar? (20)

PDF
Desenvolvendo aplicacoes mobile_com_html_css_
PDF
Utiizando o Celular no Apoio à Gerência de configuração
PDF
Desenvolvimento de Aplicativos Móveis Multiplataforma
PDF
Aprenda a usar os recursos “câmera” do android, criando um app de forma prática
PDF
Aprenda a usar os recursos “câmera” do android, criando um app de forma prática
PDF
Aplicações Móveis com J2ME
PDF
Internet das Coisas com Android things e Machine Learning
PDF
QConSP 2012: Sencha Touch 2: Mobile Multiplataforma
PPT
Desmistificando o cairngorm
PPTX
PDF
Conhecendo o Android Wear
PPTX
Surpreenda-se com o Silverlight 3
PDF
Android Wear
PPT
Introdução à visão computacional utilizando software livre
PDF
Introdução ao J2ME Conexão Java 2004
PPTX
Curso de Introdução ao Android Básico
PPT
Java Micro Edition Applied
PPTX
Mobile apps com Xamarin e Azure Mobile Services - The Developers Conference P...
PPT
Android Palestra
PPTX
Windows 8: Desenvolvimento de Metro Style Apps
Desenvolvendo aplicacoes mobile_com_html_css_
Utiizando o Celular no Apoio à Gerência de configuração
Desenvolvimento de Aplicativos Móveis Multiplataforma
Aprenda a usar os recursos “câmera” do android, criando um app de forma prática
Aprenda a usar os recursos “câmera” do android, criando um app de forma prática
Aplicações Móveis com J2ME
Internet das Coisas com Android things e Machine Learning
QConSP 2012: Sencha Touch 2: Mobile Multiplataforma
Desmistificando o cairngorm
Conhecendo o Android Wear
Surpreenda-se com o Silverlight 3
Android Wear
Introdução à visão computacional utilizando software livre
Introdução ao J2ME Conexão Java 2004
Curso de Introdução ao Android Básico
Java Micro Edition Applied
Mobile apps com Xamarin e Azure Mobile Services - The Developers Conference P...
Android Palestra
Windows 8: Desenvolvimento de Metro Style Apps
Anúncio

Último (16)

PDF
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
PDF
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
PDF
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
PPTX
Arquitetura de computadores - Memórias Secundárias
PPTX
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
PDF
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
PDF
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
PDF
Custos e liquidação no SAP Transportation Management, TM130 Col18
PDF
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
PDF
Processos na gestão de transportes, TM100 Col18
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PDF
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
PDF
COBITxITIL-Entenda as diferença em uso governança TI
PDF
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
PPTX
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
Arquitetura de computadores - Memórias Secundárias
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
Custos e liquidação no SAP Transportation Management, TM130 Col18
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
Processos na gestão de transportes, TM100 Col18
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
COBITxITIL-Entenda as diferença em uso governança TI
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx

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

  • 2. Desenvolvimento para Windows Mobile – Por onde começar? Marcus Dorbaçãomdorbacao@message.com.br
  • 5. Introdução ao .NET Compact Framework 3.5
  • 6. Por onde começar?
  • 8. Packaging & Deployment
  • 9. GUI (Graphical User Interface)Agenda SQL Server Mobile 2005
  • 10. API´S de interação com o dispositivo
  • 11. Dicas, truques e boas práticas
  • 13. LinksIntrodução As pessoas precisam de informação nas pontas dos dedos, em qualquer lugar, à qualquer hora.
  • 14. Acesso a informação não é o suficiente. É preciso inteligência na aquisição.Plataforma Windows MobileDevices Existem basicamente três tipos de dispositivos. - Pocket PC - Smartphone - Pocket PC PhoneEdition
  • 16. API Win32 comum a todos os dispositivos.
  • 17. Acesso simplificado e padronizado aos recursos de Hardware
  • 18. Versão “móvel” de ferramentas de produtividade. - Excel Mobile, Word Mobile, Pocket Outlook
  • 19. Introdução ao .NET CF 3.5 Framework, Compact Framework e Micro Framework
  • 20. Desenvolvido para trazer o mundo de código gerenciado para a plataforma windowsmobile.
  • 21. Mesma família de classes e hierarquia de Namespaces da framework.
  • 22. O .NET CF representa 30% da framework completa.Introdução ao .NET CF 3.5O que tem e o que não tem?
  • 23. Por onde começar?Windows Mobile Device Center 6.1ActiveSync 4.5 para Windows XP & Server 2003Visual Studio 2008 ProfessionalVersões Express e Standard não suportam o desenvolvimento para Windows MobileSuporta .NET CF 2.0 e 3.5Versão 2005 suporta .NET CF 1.0 e 2.0Versão 2003 suporta .NET CF 1.0Opções para desenvolvimento sem Visual Studio http://www.codeproject.com/KB/mobile/WiMoSansVS.aspx
  • 24. Por onde começar?A instalação do VS inclui...Remote ToolsRemote Registry EditorRemote File ViewerRemote Process ViewerRemote Zoom In...
  • 25. Por onde começar?SDKs das plataformas a suportarWindows Mobile 2003 & 5.0 SDKincluído na instalação do VS2008Windows Mobile 6 SDKhttp://www.microsoft.com/downloads/details.aspx?familyid=06111A3A-A651-4745-88EF-3D48091A390B&displaylang=enProfessional para equipamentos com tela sensível ao toqueInclui equipamentos ‘Classic’ (sem telefone)Standard para equipamentos sem tela sensível ao toqueInclui Device Emulator Manager, Cellular Emulator, FakeGPS, Samples
  • 26. Hello World !DemoCriando meu Hello World !
  • 27. Hello World !Executar no emuladorExecutar direto no deviceDepuração
  • 28. Packaging & DeploymentCriação do ficheiro CABModelo .CAB para instalação nos equipamentos Windows MobilePermite instalação directa no equipamentoA partir de cartão de memória (c/ eventual auto-instalação na inserção do cartão)Cópia manualEnvio por mailDownload (directo ou página criada para o efeito)Link directo pode ser enviado por SMSCom o .CAB pode-se...Copiar ficheiros para pastas próprias e de sistemaCriar atalhosInserir valores no Registry
  • 29. Packaging & DeploymentDemoDistribuindo a aplicação com ficheiros CAB
  • 30. Packaging & DeploymentDistribuindo a aplicação com ficheiro CABDefinindo o projeto que será instaladoApplication Folder
  • 31. Programs FolderPackaging & DeploymentDistribuindo a aplicação com ficheiro CABInstalando a aplicação no meu deviceInstalando pelo SD card
  • 32. Instalando pela internetInformaçãopessoalSessão de OutlookAPI´S de interação com o dispositivoMicrosoft.WindowsMobile.PocketOutlookContactosCompromissosTarefasLogs into databaseImportantefazer o dispose
  • 33. InformaçãopessoalSessão de OutlookAPI´S de interação com o dispositivoMicrosoft.WindowsMobile.PocketOutlookContactosCompromissosTarefasLogs into databaseImportantefazer o dispose
  • 34. API´S de interação com o dispositivoDemoMonitorando SMS de um contato
  • 35. API´S de interação com o dispositivo
  • 36. API´S de interação com o dispositivoMicrosoft.WindowsMobile.PocketOutlookOutlookSession outlookSession = new OutlookSession();cmbContatos.DataSource = outlookSession.Contacts.Items;cmbContatos.DisplayMember = "FirstName";cmbContatos.ValueMember = "ItemId“;Carregandooscontatos...
  • 37. API´S de interação com o dispositivoMicrosoft.WindowsMobile.PocketOutlook.MessageInterceptorinterceptorSMS = new MessageInterceptor();interceptorSMS.InterceptionAction = InterceptionAction.Notify;interceptorSMS.MessageReceived += new MessageInterceptorEventHandler(interceptorSMS_MessageReceived);void interceptorSMS_MessageReceived(object sender, MessageInterceptorEventArgs e){ Contact contato = (Contact)cmbContatos.SelectedItem;if (e.Message.From.Address.Contains(contato.MobileTelephoneNumber)) lblContato.Text = GetMessage(contato, e); else lblContato.Text = "";}
  • 38. API´S de interação com o dispositivoDevice State and NotificationAbordagemconsistenteMais de 150 estadospré-definidosMessagingTelefoneRedeCompromissosMedia PlayerHardware disponível
  • 39. API´S de interação com o dispositivoDemoInterceptando uma ligação
  • 40. API´S de interação com o dispositivoMicrosoft.WindowsMobile.Status
  • 41. API´S de interação com o dispositivoMicrosoft.WindowsMobile.Statusprivate SystemState telefone; //Globalthis.telefone = new SystemState(SystemProperty.PhoneTalkingCallerContact, true);this.telefone.Changed += new ChangeEventHandler(telefone_Changed);void telefone_Changed(object sender, ChangeEventArgs args) { if (args.NewValue != null) { OutlookSession outlookSession = new OutlookSession(); ItemId itemId = new ItemId((int)args.NewValue); Contact contact = new Contact(itemId); lblNome.Text = contact.FirstName; lblTelefone.Text = contact.MobileTelephoneNumber.ToString(); lblInicio.Text = DateTime.Now.ToString(); } else { lblFim.Text = DateTime.Now.ToString(); this.Activate(); } }
  • 42. API´S de interação com o dispositivoDemoCaptura de elementos multimidia
  • 43. API´S de interação com o dispositivoCaptura de elementos multimidiaMicrosoft.WindowsMobile.FormsInteratividade com a câmera do deviceconst string path = @"Arquivos de Programas\MobileToolKit";CameraCaptureDialog camera = new CameraCaptureDialog();camera.Mode = CameraCaptureMode.Still;camera.StillQuality = CameraCaptureStillQuality.High;camera.InitialDirectory = path;camera.DefaultFileName = @"foto.jpg";if (camera.ShowDialog() == DialogResult.OK){ Bitmap bitmap = new Bitmap( string.Format(@"{0}\{1}", path, camera.DefaultFileName)); pictureBox1.Image = bitmap;}
  • 45. GUI – GraphicalUser interfaceDemoGUI – Carregando uma TreeView
  • 46. GUI – GraphicalUser interfacePopulandoTreeViewUsandoXMLDocument()Leitura de arquivo
  • 47. GUI – GraphicalUser Interfaceconst string filePath = @"Arquivos de Programas\TreeViewBasica\TreeView.xml";XmlDocument xmlDocument = new XmlDocument();xmlDocument.Load(filePath);XmlNodeList xmlNodeList = xmlDocument.DocumentElement.ChildNodes;Populate(treeView1.Nodes, xmlNodeList);XmlDocument xmlDocument = new XmlDocument();private void Populate(TreeNodeCollection treeNodeCollection, XmlNodeList xmlNodeList){ foreach (XmlNode item in xmlNodeList) { TreeNode treeNode = new TreeNode(item.Name); treeNodeCollection.Add(treeNode); if (item.HasChildNodes) Populate(treeNode.Nodes, item.ChildNodes); }}
  • 48. SQL Server CompactEdition 3.5DemoNorthwind – Inserting, selecting & replication