Do que se trata o artigo

Neste artigo veremos como preparar um ambiente de desenvolvimento,para criar e testar aplicações para o Windows Mobile 6.1, última versão do sistema operacional da Microsoft para dispositivos móveis.


Para que serve

Cada vez mais os dispositivos móveis são utilizados por empresas em aplicações de negócio, ecabe a nós desenvolvedores criar esses aplicativos.

Em que situação o tema é útil

O Windows Mobile 6.1 é a última versão do sistema operacional da Microsoft para dispositivos móveis,e precisamos saber como desenvolver aplicações para esta versão, que está presente nos dispositivos de última geração que temos no mercado.

Resumo do DevMan

Veja neste artigo o como preparar o seu ambiente de desenvolvimento para criar e testar aplicações para o Windows Mobile 6.1, com o Visual Studio 2008 edição Standard ou Professional.

Veremos como preparar o ambiente, instalando os pré-requisitos necessários, SDKs e Emuladores de Imagens.Com isso estaremos aptos a desenvolver aplicações para a versão mais recente do Windows Mobile.

A mobilidade veio para ficar, e a cada dia que passa,mais e mais aplicações precisam estar integradas a estes dispositivos. Cabe a nós, desenvolvedores, criar os aplicativos que vão realizar operações de negócio através de dispositivos móveis. São as aplicações LOB (Line Of Business Applicationsaplicações vitais para as operações de negócio de uma organização) invadindo o terreno da mobilidade.

A Microsoft vem investindo em mobilidade já há muito tempo, desde a versão Windows CE do seu sistema operacional para dispositivos móveis. Hoje temos o Windows Mobile 6.1, que tem como um dos seus focos principais, a simplificação para o desenvolvimento e deployement(distribuição) de aplicações LOB, ou aquelas aplicações vitais para as operações de negócio de uma empresa.

Neste artigo veremos o que é preciso para montarmos um ambiente para o desenvolvimento de aplicações para o Windows Mobile 6.1, com o Visual Studio 2008. Veremos também como criar e testar, de uma maneira bem simples, uma aplicação para este sistema operacional.Mãos a Obra!

Nota do DevMan

A História do Windows Mobile

O Windows Mobile é um sistema operacional compacto, desenvolvido para rodar em dispositivos móveis como Pocket PCs, Smartphones e aparelhos de multimídia em geral. Projetado para ser capaz de realizar boa parte do que é possível em uma versão PC do Windows, o sistema vem com um conjunto de aplicações básicas bem conhecidas no mundo dos PCs, tais como o Word, Excel, PowerPoint, Windows Media Player Pocket.

Pocket PC 2002

O Pocket PC era a intenção original de plataforma para o sistema operacional Windows Mobile. Estes dispositivos eram categorizados de duas formas, os dispositivos Pocket PC sem capacidades de telefonia celular, e aqueles que incluíram capacidades de telefone. O nome mais atual do Windows Mobile destinados à utilização em Pocket PCs é oficialmente "Windows Mobile 6 Professional" para dispositivos móveis com recursos de telefonia e o "Windows Mobile 6 Classic" para dispositivos sem recursos de telefonia.

Windows Mobile 2003

Existem duas versões do Windows Mobile 2003, uma versão inicial e posteriormente um versão Second Edition (segunda edição).

Windows Mobile 5.0

O Windows Mobile 5.0, foi lançado pela Microsoft em 2005, para ser utilizado em equipamentos móveis. O diferencial dessa versão é o fato dela ser a mesma para celulares e PDAs - com isso, a Microsoft conseguiu aderir ao modelo de negócios que já era utilizado pelas rivais do segmento móvel, tais como Symbian, BlackBerry e Palm.

Windows Mobile 6.0

É pouco diferente da versão 5.0, com quase nada de novo no Word Mobile e Excel Mobile; a grande melhoria é uma melhor integração com as características de telefone do aparelho.

Windows Mobile 6.1

No segundo semestre de 2008 foi lançada a versão 6.1, com melhorias visuais, experiência de usuário e no Internet Explorer.

Adaptado da definição do Wikipedia: http://pt.wikipedia.org/wiki/Windows_Mobile

Windows Mobile 6 e 6.1

O Windows Mobile 6.1 é uma atualização da versão 6 deste sistema operacional da Microsoft para dispositivos móveis. A plataforma de desenvolvimento para estas duas últimas versões do Windows Mobile, focaem algumas características básicas.

O principal foco do Windows Mobile 6, talvez seja simplificar o desenvolvimento e distribuição (Deployement) de aplicações LOB (Line Of Business Applications). LOB é uma sigla comumente utilizada quando nos referimos a aplicações que operam os processos de negócios de uma empresa. É basicamente a grande maioria das aplicações que estamos acostumados a desenvolver e manter no nosso dia a dia.

Quem acompanha o avanço das tecnologias para desenvolvimento de aplicações para dispositivos móveis, sabe que não é fácil criar aplicações para este ambiente, e muito menos fácil é realizar um deployement eficaz, principalmente quando temos um aplicativo que deve ser instalado em dispositivos de marcas e modelos diferentes.

Uma dos objetivos da plataforma de desenvolvimento do Windows Mobile 6,é justamente facilitar e simplificar este trabalho.

Outra característica do Windows Mobile 6.0 é melhorar experiência do usuário, permitindo o desenvolvimento de interfaces muito mais interativas e agradáveis para os nossos usuários.

Visual Studio 2008 Professional

A primeira coisa que você precisa para poder criar aplicações para o Windows Mobile, independente da versão, é de um Visual Studio 2005 ou 2008. De preferência utilize o Visual Studio 2008, que irá lhe oferecer todas as novidades e recursos disponíveis na última versão da plataforma .NET, o .NET Framework 3.5 Service Pack 1.

Para o desenvolvimento de aplicações para dispositivos móveis, precisamos utilizar a edição Standard, Professional ou Team System do Visual Studio. Neste exemplo irei utilizar a edição Professional do Visual Studio 2008.

Se quiser conhecer mais sobre as versões e edições do Visual Studio, e a diferenças de recursos entre cada uma delas, sugiro que acesse o site oficial do Visual Studio, em: http://www.microsoft.com/visualstudio/en-us/default.mspx.

Ao abrirmos o Visual Studio 2008, se acessarmos a opção File /> New Project, veremos que temos uma categoria de tipos de projeto específica para Smart Devices (Figura 1). E dentro dessa categoria temos um template chamado Smart Device Project.

Figura 1. Criando um Projeto do Tipo Smart Device

Este é o template padrão para a criação de projetos para dispositivos móveis. Porém, ao clicarmos em OK nessa mesma janela, o Visual Studio irá nos perguntar em qual plataforma queremos criar o nosso projeto, e aqui é que temos o nosso primeiro problema.

Veja na Figura 2, que a versão mais atual que temos aqui é para o Windows Mobile 5.0, edição Pocket PC ou Smart Phone. Para conseguirmos desenvolver aplicativos para o Windows Mobile 6 ou 6.1, temos que preparar o nosso ambiente.

Figura 2. Escolhendo a plataforma para criar o projeto

Windows Mobile 6 SDK

Vamos começar com o SDK do Windows Mobile 6. Como não há muita diferença entre a versão 6.1 e a versão 6 do Windows Mobile, nós não temos um SDK da versão 6.1. Sendo assim, se você não tem instalado o SDK da versão 6, sugiro que o faça através deste site: http://www.microsoft.com/downloads/details.aspx?FamilyID=06111A3A-A651-4745-88EF-3D48091A390B&displaylang=en.

Neste link você vai encontrar duas edições do Windows Mobile 6 SDK. Cada uma delas endereça “tipos” diferentes de dispositivos. Anteriormente, até a versão 5, tínhamos o Windows Mobile for SmarthPhone, Windows Mobile for Pocket PC e o Windows Mobile for Pocket PC Phone Edition.

A partir da versão 6, essa nomenclatura mudou. Temos agora o Windows Mobile Standard, Windows Mobile Classic e o Window Mobile Professional.

E, portanto, temos duas versões do SDK que endereçam estas três categorias acima. Temos o Standard SDK para as edições Standard e Classic do Windows Mobile. E temos o Professional SDK para a edição Professional do Windows Mobile.

Você pode encontrar mais detalhes sobre essas duas opções do SDK no próprio site de download acima. Neste exemplo, eu baixei e instalei o Windows Mobile 6 Professional SDK Refresh.msi.

Nota do DevMan

Software Development Kit

SDK é a sigla de Software Development Kit, ou seja, Kit de Desenvolvimento de Software.

Normalmente os SDKs são disponibilizados por empresas ou projetos Open Source para que programadores externos tenham uma melhor integração com o software proposto. Um exemplo de um SDK é o Platform SDK da Microsoft que inclui documentação, código e utilitários para que programadores consigam desenvolver as suas aplicações de acordo com um padrão de desenvolvimento para o sistema operativo em questão. A maior parte dos SDKs da Microsoft é encontrada no MSDN.

Um dos SDKs mais utilizados no desenvolvimento de aplicativos Java (linguagem de programação) é o Eclipse (IDE), que é de código aberto.

Empresas que fornecem SDKs para plataformas, sistemas ou sub-sistemas específicos podem algumas vezes usar outro termo para designar os SDKs. A Apple Computer e a Microsoft, por exemplo, fornecem Device Driver Development Kits (DDKs) para o desenvolvimento de device drivers, e a PalmSource chamou o seu kit de desenvolvimento de PalmOS Development Kit (PDK).

Adaptado da definição do Wikipedia: http://pt.wikipedia.org/wiki/SDK

O processo de instalação não tem segredos, apenas é importante ficar atendo aos pré-requisitos necessários para a instalação do SDK. Note, na Figura 3, que na própria página de download temos apontados quais são estes pré-requisitos, por sistema operacional.

Figura 3. Pré-requisitos e instruções para instalação do Windows Mobile 6 SDK

Além dos pré-requisitos, se você tem uma versão anterior a esta do Windows Mobile 6 SDK, desinstale-a antes de proceder com essa instalação. Esta orientação esta nas instruções de instalação que você vê na própria Figura 3.

Emuladores de Imagens

Emuladores são a forma mais eficaz e simples de se testar aplicativos para dispositivos móveis. Imagine se você tivesse que instalar o aplicativo no celular toda vez que precisasse testar uma alteração, seria muito trabalhoso. Os emuladores literalmente simulam no seu computador o comportamento do dispositivo, através de imagens.

Uma das principais razões de instalarmos o SDK citado acima, é para podermos ter os emuladores específicos do Windows Mobile 6. Como dito, o Windows Mobile 6.1 não possuíi um SDK, mas podemos baixar e instalar o emulador de imagens específico da versão 6.1. Você o encontra no seguinte link: http://www.microsoft.com/downloads/details.aspx?FamilyId=3D6F581E-C093-4B15-AB0C-A2CE5BFFDB47&displaylang=en.

Este emulador de imagens também é disponibilizado nas mesmas duas edições citadas acima: a Standard e Professional. Neste exemplo foi baixado e instalado o Windows Mobile 6.1 Professional Images (USA).msi. Baixando e instalando o emulador de imagens do Windows Mobile 6.1, concluímos a configuração do ambiente necessário para o desenvolvimento de aplicativos.

Criando o primeiro Exemplo para Windows Mobile 6.1

Agora que temos tudo instalado, antes de continuar eu sugiro que reinicie seu sistema operacional. Em seguida, podemos criar um novo projeto, assim como foi feito na Figura 1. Só que agora, depois que confirmarmos a criação do projeto, na segunda tela teremos a possibilidade de escolher o SDK do Windows Mobile 6, para nossa plataforma alvo. Veja na Figura 4.

Figura 4. Definindo o Windows Mobile 6 Professional SDK como Plataforma do Projeto

Selecione a opção indicada na Figura 4 para a plataforma alvo, mantenha o template Device Application selecionado, e a versão 3.5 do .NET Compact Framework. Em seguida clique em OK. Seu projeto será criado, já com um formulário criado e aberto, pronto para que você crie uma interface mobile.

Veja na Figura 5, que da perspectiva do desenvolvedor, um formulário mobile tem a mesma dinâmica de um formulário Windows.

Figura 5. Estrutura do Database VentoNorte

Podemos arrastar os controles da ToolBox e posicioná-los onde quisermos no formulário, e podemos configurar as propriedades do formulário e de qualquer controle que nele foi colocado.

Note que foram inclusos um Button e um Label, apenas para realizar o exemplo mais simples e clássico de todos, o Hello World. Dê um duplo-clique no Button e inclua no seu evento Click, o conteúdo da Listagem 1, que mostra como fica o code-behind da nossa primeira aplicação de exemplo.

Listagem 1. Code-Behind do Form1 – Exemplo HelloWorld!


  using System;
  using System.Linq;
  using System.Collections.Generic;
  using System.ComponentModel;
  using System.Data;
  using System.Drawing;
  using System.Text;
  using System.Windows.Forms;
   
  namespace SmartDeviceProject1
  {
      public partial class Form1 : Form
      {
          public Form1()
          {
              InitializeComponent();
          }
   
          private void button1_Click(object sender, EventArgs e)
          {
              label1.Text = "Hello World!";
          }
      }
  }

Veja que nessa nossa única linha de código, estamos dizendo que a propriedade Text do nosso Label1, deverá apresentar a frase Hello World! Isso bastará para testarmos a nossa primeira aplicação no Windows Mobile 6.1.

Sendo assim, salve, compile e execute o seu projeto. Você pode inclusive executá-lo em modo Debug se desejar, através da tecla de atalho F5. Se nenhum erro for encontrado, uma janela igual a da Figura 6 será apresentada.

Figura 6. Escolhendo o Emulador para executar o projeto

Esta janela nos apresenta a lista de emuladores de imagens para dispositivos móveis, que temos disponível em nosso ambiente. Se você instalou com sucesso o Windows Mobile 6.1 Professional Images (USA).msi citado no capítulo anterior, poderá encontrar nessa lista os emuladores do Windows Mobile 6.1 Professional. Neste exemplo iremos selecionar o USA Windows Mobile 6.1 Professional Emulator, e clicar em Deploy.

Esse processo é descrito como Deploy pois o Visual Studio irá simular um Deploy da nossa aplicação no emulador selecionado. Como isso implica na emulação da execução do Windows Mobile 6.1 em um dispositivo móvel, este processo pode ser um pouco demorado.

Após clicar em Deploy a primeira janela que você verá é a de uma imagem de um dispositivo móvel sendo iniciado com o Windows Mobile 6.1. Confira na Figura 7.

Figura 7. Windows Mobile 6.1 iniciando no Emulador

Neste momento você deverá aguardar até que o Windows Mobile 6.1 seja iniciado, e na seqüência, a nossa aplicação de exemplo será executada no emulador. Não há necessidade de realizar nenhuma operação dentro do emulador para que isso ocorra, basta aguardar. Se você acompanhar o progresso de Deploy pelo Visual Studio, poderá ver o momento em que a aplicação estará rodando no emulador.

Veja na Figura 8 que nossa aplicação é executada, e apresenta a mesma interface que desenhamos no Visual Studio.

Figura 8. Testando o Hello World no Windows Mobile 6.1

Clique no botão e veja a clássica mensagem de Hello World aparecendo em nosso Label. Parabéns, você criou e testou sua primeira aplicação móvel para o Windows Mobile 6.1.

Ao fechar o emulador, seremos questionados se desejamos salvar o seu estado. Ao responder que sim, na próxima vez que executarmos o nosso projeto, este estado será recuperado, diminuindo o tempo de deploy do projeto no emulador.

Propriedades do Emulador

Os Emuladores de Imagens das versões 6 e 6.1 do Windows Mobile, permitem uma grande quantidade de configurações. Essas configurações ajudam a criarmos ambientes ou testarmos situações específicas de um dispositivo.

Um dos pontos mais críticos de um dispositivo móvel é o seu gerenciamento de energia. O tempo de duração de uma bateria precisa ser monitorado. Imagine a situação em que um aplicativo de vendas está operando em um dispositivo que acusa baixa carga de bateria, que ação preventiva seu aplicativo deve tomar para impedir a perda de um pedido, ou o cadastro de um cliente?

Esse é o tipo de preocupação específica que devemos ter quando estamos desenvolvendo aplicativos para estes dispositivos.

Com o emulador executando o nosso aplicativo, podemos acessar suas propriedades através da opção de menu File /> Configure...

Essa janela de propriedades permite uma série de configurações, entre elas na tab Peripherals temos um CheckBox que indica se nosso dispositivo está ou não utilizando a bateria. E no caso de estar utilizando a bateria, podemos definir qual o percentual de energia em que a bateria está operando.

Simulando assim uma situação em que a aplicação está operando em um dispositivo que está ficando sem bateria. Confira como essa configuração é feita na Figura 9, e como o próprio Windows Mobile 6.1 dispara um alerta.

Figura 9. Definindo 5% de bateria para o dispositivo

É claro que além deste alerta de texto, nosso aplicativo pode interceptar este evento e tomar uma ação preventiva, como persistir os dados em algum repositório temporário.

Esse é apenas um exemplo de como os emuladores do Windows Mobile 6 e 6.1 estão equipados para proporcionar uma simulação bem mais real para os testes de aplicativos móveis.

Controles de Datas

Uma das características que mais agradaram com o surgimento da versão 6 do Windows Mobile foi a inclusão de vários novos controles de interface,que aumentam ainda mais a experiência do usuário, tornando o desenvolvimento para Mobile muito mais parecido com o desenvolvimento de aplicações Windows Forms.

O principal exemplo neste caso são os controles de DateTimePicker e MonthCalendar, que oferecem uma interface muito amigável para manuseio com datas. Veja na Figura 10, um exemplo de como é simples utilizar estes controles em um formulário Mobile. Já na Figura 11 você pode conferir como estes controles ficam na execução do aplicativo.

Figura 10. Estrutura do Database VentoNorte.

Figura 11. Testando os controles DateTimePicker e MonthCalendar

Acesso a Dados

E finalmente, uma dos recursos que mais ficaram simples nesta versão, é o acesso a dados. Esse também é um grande avanço do .NET Compact Framework 3.5 que nos oferece a possibilidade de criarmos e utilizarmos um arquivo de banco de dados SQL Server, portável em um dispositivo móvel com o Windows Mobile 6.

Na verdade, os recursos de armazenamento e acesso a dados em dispositivos Mobile já existem a muito tempo, e se tornaram muito ágeis no .NET Compact Framework 2.0. As novas versões do Windows Mobile e do Compact Framewor,seguem com esse mesmo espírito de agilidade e simplicidade na criação de aplicações com acesso a dados.

Vamos ao nosso exemplo. Clique com o botão direito sobre o seu projeto na Solution Explorer e escolha a opção Add /> New Item. Como você confere na Figura 12, na categoria Data temos um template chamado Database File. Escolha-o, defina um nome para o seu database e clique em Add.

Figura 12. Criando um novo Database com o SQ Server Compact 3.5

Em seguida você verá que um Wizard se oferecerá para criar um DataSet para o seu Database, já definindo um DataSource para ser utilizado na aplicação. Para concluir clique em Finish.

Para criarmos as tabelas em um banco de dados compacto, podemos utilizar o próprio Visual Studio. Se você abrir a janela Server Explorer verá que agora temos uma conexão que leva o nome do nosso banco de dados, e através dessa conexão, clicando com o botão direito sobre a pasta Tables, podemos criar nossas tabelas.

A interface para a criação de tabelas e muito simples, e você pode conferir na Figura 13, onde estamos criando uma tabela chamada Clientes, com os campos Id, Nome e Fone.

Figura 13. Estrutura da Tabela Clientes

Note que através dessa interface podemos facilmente definir o campo Id como chave primária, e Identity (seqüencial numérico automático). Feito isso, precisamos atualizar o DataSet que foi criado automaticamente na etapa anterior. Abra-o Através da Solution Explorer, e como você confere na Figura 14, arraste a tabela da Server Explorer para o Dataset.

Figura 14. Criando DataTable e TableAdapter no Dataset

Em seguida precisamos definir a interface de usuário que iremos usar para interagir com a tabela de Clientes. Neste caso vamos criar uma interface muito simples, onde seremos capazes de incluir novos clientes e consultar os clientes já existentes.

Apague qualquer controle que esteja incluso no formulário, e, assim como mostra a Figura 15, adicione um DataGrid, dois TextBoxes, dois Labels e um Button.

Figura 15. Criando interface para inclusão e consulta de Clientes com DataGrid

Como você pode ver na mesma figura, será necessário incluir um controle do tipo BindingSource. Este controle nos ajudará a fazer a ligação entre o nosso DataSet e o DataGrid. Veja que nas propriedades do BindingSource temos uma propriedade chamada DataSource.

Assim como mostra a própria Figura 15, escolha nesta propriedade o AppDatabase1DataSet que está dentro do Project Data Sources. Essa operação irá criar uma instancia do DataSet em nosso Form1, bem ao lado do BindingSource.

Para completar a operação no BindingSource, precisamos escolher a DataTable Clientes na propriedade DataMember. Em seguida é preciso configurar a propriedade DataSource do DataGrid, que deve simplesmente apontar para o bindingSource1. Além disso, é interessante dar nomes mais amigáveis para os TextBoxes, e aí sim teremos uma interface de exemplo de acesso à dados pronta.

Agora precisamos incluir um pouco de código neste Fformulário, para que ele possa realizar duas das operações CRUD (Create-Read-Update-Delete), o Insert e o Select.

Nota do DevMan

CRUD é o acrônimo da expressão em língua Inglesa Create, Retrieve, Update e Delete, usada para definir quatro operações básicas usadas em bancos de dados relacionais (RDBMS) ou em interface para usuários para criação, consulta, atualização e destruição de dados.

Outros acrônimos podem ser usados para definir as mesmas operações:

ABCD: Add, Browse, Change e Delete

BREAD: Browse, Read, Edit, Add e Delete

VADE(R): View, Add, Delete, Edit (e Restore, para sistemas com processos transacionais)

A abreviação CRUD mapeada para o padrão ISO/SQL é:

Create INSERT

Retrieve (Read) SELECT

Update UPDATE

Destroy (Delete) DELETE

As operações CRUD também são relevantes em interfaces para usuários de vários níveis. Por exemplo, em um programa de Catálogo de Endereços, uma entrada de um contato individual pode ser considerada a unidade básica de persistência. As operações mínimas para este tipo de programa são:

Create Criar ou adicionar novas entradas

Retrieve (Read) Ler, recuperar ou ver entradas existentes

Update Atualizar ou editar entradas existentes

Destroy (Delete) Remover entradas existentes

Definição retirada do Wikipédia: http://pt.wikipedia.org/wiki/CRUD

O código é muito simples e se restringe aos eventos Load do formulário, e ao Click do Button. Veja na Listagem 2.

Listagem 2. Código para Inclusão e Consulta de Clientes.


  using System;
  using System.Linq;
  using System.Collections.Generic;
  using System.ComponentModel;
  using System.Data;
  using System.Drawing;
  using System.Text;
  using System.Windows.Forms;
   
  using SmartDeviceProject1.AppDatabase1DataSetTableAdapters;
   
  namespace SmartDeviceProject1
  {
      public partial class Form1 : Form
      {
          public Form1()
          {
              InitializeComponent();
          }
   
          private void Form1_Load(object sender, EventArgs e)
          {
              /// Recuperando todos os Clientes Cadastrados no database
              ClientesTableAdapter taCliente = new ClientesTableAdapter();
              taCliente.Fill(this.appDatabase1DataSet.Clientes);
   
              /// Limpanado os controles e colocando o Foco no Nome
              txt_Nome.Text = txt_Fone.Text = "";
              txt_Nome.Focus();
          }
   
          private void btn_Incluir_Click(object sender, EventArgs e)
          {
              /// Apenas se o Nome for informado é que a inclusão será feita
              if (txt_Nome.Text.Trim() != string.Empty)
              {
                  /// Incluindo o novo Cliente através do TableAdapter
                  ClientesTableAdapter taCliente = new ClientesTableAdapter();
                  taCliente.Insert(txt_Nome.Text, txt_Fone.Text);
                  
                  /// Atualizando os dados no grid
                  taCliente.Fill(this.appDatabase1DataSet.Clientes);
   
                  /// Limpanado os controles e colocando o Foco no Nome
                  txt_Nome.Text = txt_Fone.Text = "";
                  txt_Nome.Focus();
              }
          }
      }
  }

A primeira coisa a fazer no código, é incluir uma referência ao namespace SmartDeviceProject1.AppDatabase1DataSetTableAdapters. É aqui que temos acesso ao TableAdapter da tabela Clientes, que nos dá acesso aos métodos de Inclusão, Alteração, Exclusão e Consulta de Clientes.

Em seguida, no evento Form1_Load, estamos usando justamente o ClienteTableAdapter, para recuperar todos os clientes da tabela. Isto é feito através do método Fill, que irá preencher a DataTable Clientes do nosso DataSet.

Em seguida o conteúdo dos TextBoxes são apagados, e o foco do cursos é direcionado ao TextBox do Nome do Cliente.

O evento btn_Incluir_Click é muito semelhante. Verificamos inicialmente se o nome do cliente foi preenchido, e somente se esta condição for verdadeira é que realizamos a operação de inclusão. Note que o mesmo ClienteTableAdapter é utilizado, mas neste caso é o método Insert que é chamado. Este método recebe como parâmetro o nome e telefone do cliente.

Em seguida estamos novamente recuperando todos os clientes para que o DataGrid seja atualizado. É claro que por questões de performance, principalmente se estivéssemos acessando um Database externo, seria melhor incluir o registro na DataTable também, ao invés de recuperar todos os registros novamente. Porém, para efeito de testes este exemplo é válido.

Neste momento você já pode testar sua aplicação móvel. Salve, compile e execute o seu projeto. Veja na Figura 16, que nossa interface permite incluir e consultar os registros da tabela de clientes do nosso banco de dados do SQL Server Compact.

Figura 16. Estrutura do Database VentoNorte

Conclusão

Com estes exemplos podemos ter uma pequena idéia do que é possível criar para as versões 6 e 6.1 do Windows Mobile. Há muito mais para ser visto, principalmente quando falamos de arquitetura de aplicações móveis.

Questões como acesso a dados remotos, sincronização de dados, WebServices, etc. São assuntos obrigatórios para quem deseja criar uma aplicação Mobile que irá se integrar com outras aplicações e serviços.

Além disso, com a vinda do WPF e Silverlight, temos muitos destes recursos que podem ser aproveitados em aplicações Mobile, para a criação de interfaces de altíssima qualidade final. Enfim, há muito o que ser explorado neste campo, e com certeza você irá encontrar muito mais artigos a respeito aqui na WebMobile. Grande Abraço e até a próxima!