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

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

  • 2.
    Desenvolvimento para WindowsMobile – Por onde começar? Marcus Dorbaçãomdorbacao@message.com.br
  • 3.
  • 4.
  • 5.
    Introdução ao.NET Compact Framework 3.5
  • 6.
    Por ondecomeçar?
  • 7.
  • 8.
    Packaging &Deployment
  • 9.
    GUI (GraphicalUser Interface)Agenda SQL Server Mobile 2005
  • 10.
    API´S de interaçãocom o dispositivo
  • 11.
    Dicas, truquese boas práticas
  • 12.
  • 13.
    LinksIntrodução Aspessoas precisam de informação nas pontas dos dedos, em qualquer lugar, à qualquer hora.
  • 14.
    Acesso ainformaçã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
  • 15.
  • 16.
    API Win32comum a todos os dispositivos.
  • 17.
    Acesso simplificadoe padronizado aos recursos de Hardware
  • 18.
    Versão “móvel”de ferramentas de produtividade. - Excel Mobile, Word Mobile, Pocket Outlook
  • 19.
    Introdução ao .NETCF 3.5 Framework, Compact Framework e Micro Framework
  • 20.
    Desenvolvido paratrazer o mundo de código gerenciado para a plataforma windowsmobile.
  • 21.
    Mesma famíliade classes e hierarquia de Namespaces da framework.
  • 22.
    O .NETCF 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?WindowsMobile 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?Ainstalação do VS inclui...Remote ToolsRemote Registry EditorRemote File ViewerRemote Process ViewerRemote Zoom In...
  • 25.
    Por onde começar?SDKsdas 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 !DemoCriandomeu Hello World !
  • 27.
    Hello World !Executarno emuladorExecutar direto no deviceDepuração
  • 28.
    Packaging & DeploymentCriaçãodo 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 & DeploymentDemoDistribuindoa aplicação com ficheiros CAB
  • 30.
    Packaging & DeploymentDistribuindoa 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ãode OutlookAPI´S de interação com o dispositivoMicrosoft.WindowsMobile.PocketOutlookContactosCompromissosTarefasLogs into databaseImportantefazer o dispose
  • 33.
    InformaçãopessoalSessão de OutlookAPI´Sde interação com o dispositivoMicrosoft.WindowsMobile.PocketOutlookContactosCompromissosTarefasLogs into databaseImportantefazer o dispose
  • 34.
    API´S de interaçãocom o dispositivoDemoMonitorando SMS de um contato
  • 35.
    API´S de interaçãocom o dispositivo
  • 36.
    API´S de interaçãocom o dispositivoMicrosoft.WindowsMobile.PocketOutlookOutlookSession outlookSession = new OutlookSession();cmbContatos.DataSource = outlookSession.Contacts.Items;cmbContatos.DisplayMember = "FirstName";cmbContatos.ValueMember = "ItemId“;Carregandooscontatos...
  • 37.
    API´S de interaçãocom 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çãocom o dispositivoDevice State and NotificationAbordagemconsistenteMais de 150 estadospré-definidosMessagingTelefoneRedeCompromissosMedia PlayerHardware disponível