O documento discute como iniciar o desenvolvimento para Windows Mobile, abordando tópicos como a plataforma Windows Mobile, .NET Compact Framework, criação de um "Hello World", empacotamento e implantação de aplicativos, APIs para interação com dispositivos e GUI. Ele também fornece demonstrações de código para essas funcionalidades.
18. Versão “móvel” de ferramentas de produtividade. - Excel Mobile, Word Mobile, Pocket Outlook
19.
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.
23. Por onde começar? Windows Mobile Device Center 6.1 ActiveSync 4.5 para Windows XP & Server 2003 Visual Studio 2008 Professional Versões Express e Standard não suportam o desenvolvimento para Windows Mobile Suporta .NET CF 2.0 e 3.5 Versão 2005 suporta .NET CF 1.0 e 2.0 Versão 2003 suporta .NET CF 1.0 Opçõ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 Tools Remote Registry Editor Remote File Viewer Remote Process Viewer Remote Zoom In ...
25. Por onde começar? SDKs das plataformas a suportar Windows Mobile 2003 & 5.0 SDK incluído na instalação do VS2008 Windows Mobile 6 SDK http://www.microsoft.com/downloads/details.aspx?familyid=06111A3A-A651-4745-88EF-3D48091A390B&displaylang=en Professional para equipamentos com tela sensível ao toque Inclui equipamentos ‘Classic’ (sem telefone) Standard para equipamentos sem tela sensível ao toque Inclui Device Emulator Manager, Cellular Emulator, FakeGPS, Samples
27. Hello World ! Executar no emulador Executar direto no device Depuração
28. Packaging & Deployment Criação do ficheiro CAB Modelo .CAB para instalação nos equipamentos Windows Mobile Permite instalação directa no equipamento A partir de cartão de memória (c/ eventual auto-instalação na inserção do cartão) Cópia manual Envio por mail Download (directo ou página criada para o efeito) Link directo pode ser enviado por SMS Com o .CAB pode-se... Copiar ficheiros para pastas próprias e de sistema Criar atalhos Inserir valores no Registry
36. API´S de interação com o dispositivo Microsoft.WindowsMobile.PocketOutlook OutlookSession outlookSession = new OutlookSession(); cmbContatos.DataSource = outlookSession.Contacts.Items; cmbContatos.DisplayMember = "FirstName"; cmbContatos.ValueMember = "ItemId“; Carregandooscontatos...
37. API´S de interação com o dispositivo Microsoft.WindowsMobile.PocketOutlook.MessageInterceptor interceptorSMS = 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 dispositivo Device State and Notification Abordagemconsistente Mais de 150 estadospré-definidos Messaging Telefone Rede Compromissos Media Player Hardware disponível
41. API´S de interação com o dispositivo Microsoft.WindowsMobile.Status private SystemState telefone; //Global this.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 dispositivo Demo Captura de elementos multimidia
43. API´S de interação com o dispositivo Captura de elementos multimidia Microsoft.WindowsMobile.Forms Interatividade com a câmera do device const string path = @"Arquivos de ProgramasobileToolKit"; 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; }