Top Banner
38

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

Dec 12, 2014

Download

Technology

Stefanini

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.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Desenvolvimento Mobile com Visual Studio 2008, por onde começar?
Page 2: Desenvolvimento Mobile com Visual Studio 2008, por onde começar?

Desenvolvimento para Windows Mobile – Por onde começar?

Marcus Dorbaçã[email protected]

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

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)

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

Agenda

• SQL Server Mobile 2005

• API´S de interação com o dispositivo

• Dicas, truques e boas práticas

• Conclusão

• Links

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

Introduçã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.

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

Plataforma Windows Mobile

Devices

Existem basicamente três tipos de dispositivos.- Pocket PC- Smartphone- Pocket PC Phone Edition

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

Plataforma Windows Mobile

Arquitetura

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

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

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 windows mobile.

Mesma família de classes e hierarquia de Namespaces da framework.

O .NET CF representa 30% da framework completa.

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

Introdução ao .NET CF 3.5

O que tem e o que não tem?.NET CF 3.5 .Net Framework 3.5

Serialization Não Sim

Extensible Stylesheet Language Transformations (XSLT). Não Sim

XML Sim Sim

LINQ Apenas LINQ To Data Set e LINQ To XML Sim

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

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 Studiohttp://www.codeproject.com/KB/mobile/WiMoSansVS.aspx

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

Por onde começar?

• A instalação do VS inclui...– Remote Tools

• Remote Registry Editor• Remote File Viewer• Remote Process Viewer• Remote Zoom In• ...

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

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 SDKhttp://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

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

Hello World !

DemoCriando meu Hello World !

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

Hello World !

• Executar no emulador• Executar direto no device• Depuração

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

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

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

Packaging & Deployment

DemoDistribuindo a aplicação com ficheiros CAB

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

Packaging & Deployment

Distribuindo a aplicação com ficheiro CAB• Definindo o projeto que será instalado

• Application Folder• Programs Folder

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

Packaging & Deployment

Distribuindo a aplicação com ficheiro CAB• Instalando a aplicação no meu device

• Instalando pelo SD card

• Instalando pela internet

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

API´S de interação com o dispositivo

• Microsoft.WindowsMobile.PocketOutlook

Sessão de Outlook

Logs into databaseImportante fazer o disposeLogs into databaseImportante fazer o dispose

OutlookSessionClass

Properties

AppointmentsContactsEmailAccountsSmsAccountTasks

Methods

Dispose (+ 1 overload)OutlookSession

Informação pessoal

Contactos Compromissos

Tarefas

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

API´S de interação com o dispositivo

• Microsoft.WindowsMobile.PocketOutlook

Sessão de Outlook

Logs into databaseImportante fazer o disposeLogs into databaseImportante fazer o dispose

OutlookSessionClass

Properties

AppointmentsContactsEmailAccountsSmsAccountTasks

Methods

Dispose (+ 1 overload)OutlookSession

Informação pessoal

Contactos Compromissos

Tarefas

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

API´S de interação com o dispositivo

DemoMonitorando SMS de um contato

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

API´S de interação com o dispositivo

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

API´S de interação com o dispositivo

OutlookSession outlookSession = new OutlookSession();

cmbContatos.DataSource = outlookSession.Contacts.Items;cmbContatos.DisplayMember = "FirstName";cmbContatos.ValueMember = "ItemId“;

Microsoft.WindowsMobile.PocketOutlook

Carregando os contatos...

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

API´S de interação com o dispositivo

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);

elselblContato.Text = "";

}

Microsoft.WindowsMobile.PocketOutlook.MessageInterceptor

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

API´S de interação com o dispositivo

Device State and Notification SystemState

StateBase

Class

Properties

ApplicationArgumentsApplicationLaunchIdApplicationToLaunchBitMaskComparisonTypeComparisonValueCurrentValueProperty

Methods

DisableApplicationLauncher (+ 1 overload)DisposeEnableApplicationLauncher (+ 2 overloads)GetValueIsApplicationLauncherEnabledSystemState (+ 3 overloads)

Events

Changed

Messaging Telefone

Compromissos Media Player Hardware disponível

Mais de 150 estados pré-definidos

Abordagem consistente

Rede

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

API´S de interação com o dispositivo

DemoInterceptando uma ligação

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

API´S de interação com o dispositivoMicrosoft.WindowsMobile.Status

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

API´S de interação com o dispositivo

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(); }

}

Microsoft.WindowsMobile.Status

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

API´S de interação com o dispositivo

DemoCaptura de elementos multimidia

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

API´S de interação com o dispositivoCaptura de elementos multimidia

• Microsoft.WindowsMobile.Forms• Interatividade com a câmera do device

const 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;}

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

GUI – Graphical User interface

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

GUI – Graphical User interface

DemoGUI – Carregando uma TreeView

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

GUI – Graphical User interface

Populando TreeView

Usando XMLDocument()

Leitura de arquivo

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

GUI – Graphical User Interface

const 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);

}}

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

SQL Server Compact Edition 3.5

DemoNorthwind – Inserting, selecting & replication

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

SQL Server Compact Edition 3.5

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

SQL Server Compact Edition 3.5

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

SQL Server Compact Edition 3.5