Windows Mobile 5.0 e SQL Server 2005 para Smartphones

Criando bancos de dados para Smartphones

Max Mosimann Netto


Antes de começarmos a detalhar os assuntos relacionados aos Smartphones, Windows Mobile 5.0 e SQL Mobile Edition 2005, apresento a seguir um breve detalhamento para aqueles que ainda não conhecem o Smartphone!

Smartphone nada mais é do que uma fusão entre um celular e um Pocket PC. Devido à enorme procura por dispositivos móveis, e vendo o crescente número de celulares comercializados em todo o mundo, surgiu a idéia de um dispositivo que unisse o tamanho e uso de um celular, com as funcionalidades de um computador de mão.

Um Smartphone funciona sobre um sistema operacional (SO) e executa programas criados para este SO. Por exemplo: em um Smartphone executando uma versão do Windows Mobile, podemos executar o Windows Media Player e reproduzir músicas e vídeos como em um computador normal.

Existem inúmeras vantagens, mas também inúmeras desvantagens de ter um aparelho como esse. A principal vantagem que observamos é a capacidade de seu uso como um computador. Podemos abrir arquivos, trocar músicas e vídeos, ler e-mails, acessar a internet e realizar mais uma série de trabalhos, antes restritos a computadores desktop, notebooks ou Pocket PCs.

As principais desvantagens são: as poucas dimensões da tela, a difícil interação com o usuário, que geralmente é feita por um teclado semelhante ao de um celular comum, com o auxílio de um direcional.

Existem vários modelos (veja na Figura 1, alguns), assim como vários sistemas operacionais no mercado. Nosso objetivo é falar sobre a versão Microsoft de Smartphones.

 

wm_28-01-2008pic06.JPG 

Figura 1. Modelos de Smatphones

Comparando a tela de um Pocket PC e de um Smartphone, podemos notar que uma das coisas que devem ser levadas em consideração durante o planejamento e o desenvolvimento de um software para Smartphones, sem dúvida alguma é a área ocupada pelo software, ou melhor dizendo, a resolução e tamanho da tela. Veja na Figura 2, uma comparação entre o Pocket PC e o Smartphone.


wm_28-01-2008pic07.JPG

Figura 2. Comparação da tela do Pocket PC e Smartphone

 

Devemos levar em consideração também que, diferente do Pocket PC que possui a stylus (caneta para tocar na tela de toque), o Smartphone não possui mecanismos de tela sensível ao toque para interação com o usuário. Todo o controle é feito através do teclado numérico e de um direcional que permite ao usuário alterar em os programas listados no menu (Figura 3).

wm_28-01-2008pic08.JPG 

Figura 3. Teclado numérico do Smartphone para acesso aos programas

Com a numeração de menus, podemos acessar as funções através do direcional ou dos números. Quando um programa é aberto, números informando as opções são exibidos para que as funcionalidades possam ser executas.

Ferramentas para desenvolvimento

Em novembro de 2005, a Microsoft lançou oficialmente a versão 2005 do Visual Studio e do SQL Server. Nessa nova versão do SQL Server, uma novidade muito esperada foi a possibilidade de trabalharmos com banco de dados SQL Mobile diretamente no Smartphone, Pocket PC e Tablet PC. Muito mais do que uma novidade, todo o visual do Microsoft SQL Server 2005 foi reformulado, levando em consideração a usabilidade no processo de criação de bancos de dados para quaisquer dispositivos.

Juntamente com o lançamento dos produtos, foi liberada a versão 5.0 do SDK (Software Development Kit) do Windows Mobile. Além das muitas novidades implementadas e suportadas pelo Windows Mobile 5.0, o visual do emulador ficou mais moderno e mais real, assim como sua forma de conexão.

Além da maneira tradicional, o emulador pode se conectar através do ActiveSync, simulando um dispositivo conectado ao micro. Além de mais rápido, a sensação e comportamento do software sendo executado sobre sua arquitetura possibilita um realismo surpreendente.

É importante dizer que para que a integração funcione corretamente, é necessário obter a última versão do Microsoft ActiveSync (atualmente em sua versão 4.1). O SDK do Wndows Mobile 5.0 para Pocket PC e o SDK do Windows Mobile 5.0 para Smartphones podem ser obtidos em http://msdn.microsoft.com/mobility/downloads/sdks/default.aspx.

Uma desvantagem para os desenvolvedores que possuem o Microsoft Visual Studio 2003 é que os SDKs para Windows Mobile 5.0 somente são compatíveis com a versão 2005 do Visual Studio.

SQL Server 2005

Muitas novidades foram incorporadas na nova versão do produto. Entre as mais esperadas, está a possibilidade de utilizar um ambiente gráfico (SQL Server Management Studio) para manipular tanto bancos de dados para desktop quanto para dispositivos móveis. As principais novidades do SQL Server 2005 Mobile Edition são:

·         Suporte a múltiplas assinaturas (subscriptons): Nas versões anteriores, apenas a criação de uma subscription para cada banco de dados era permitida. Na nova versão, é possível criar quantas subscriptons forem necessárias para cada banco de dados. Uma grande ajuda para os desenvolvedores que podem optar por criar outras subscriptions ao invés de programar várias situações possíveis.

·         Sincronização Multiusuário: O suporte a multiusuários possibilita o acesso simultâneo da base de dados por clientes diferentes. Isso possibilita sincronizar um banco de dados da aplicação, mesmo que o sistema ainda esteja conectado no mesmo.

·         Barra de Progresso: Foram incluídas formas de visualização do progresso da sincronização. Agora, o usuário pode acompanhar passo a passo o andamento da sincronização.

·         Nível de Compactação: Na nova versão, podemos atribui um nível para a compactação dos dados durante uma sincronização. Isso possibilita que grandes massas de dados sejam compactadas antes de serem enviadas ao servidor, tornando o processo de sincronização mais rápido.

 

Mas sem dúvida, a maior novidade foi o IDE (Integrated Development Environmnent). Podemos nos conectar diretamente ao dispositivo através do ActiveSync (Figura 4).

 

wm_28-01-2008pic09.JPG 

Figura 4. Conectando diretamente ao dispositivo no SQL Server 2005.

Depois que o banco de dados é criado, podemos trabalhar com a criação das tabelas como se fosse um banco de dados local (Figura 5).

 

wm_28-01-2008pic10.JPG 

Figura 5. Trabalhando no SQL Server 2005.

Clicando com o botão da direita do mouse sobre o item Tables, podemos escolher a opção New Table e criar as tabelas para o banco de dados. Note que a ação de criar as tabelas é transparente, você não sabe se o banco é para desktop, para Pocket PC ou para Smartphone. Quando a tela de criação de tabelas é aberta, devemos informar o nome da tabela, bem como todos os campos que irão fazer parte da mesma.

As propriedades para os campos da tabela são genéricas, ou seja, todas as propriedades que podemos atribuir para um banco de dados desktop, podem também ser atribuídas para um banco de dados para Smartphone por exemplo (Figura 6).

 

wm_28-01-2008pic11.JPG 

Figura 6. Criando campos da tabela sem diferença entre desktop e Smartphone.

Os campos do tipo Identity podem ser atribuídos a campos que necessitem de auto incremento (chaves primárias, em geral). Podemos criar também máscaras para valores default de campos. Por exemplo: um campo chamado DataHoraCadastro, pode possuir um valor Default do tipo getdate() que preencherá o campo automaticamente quando um novo registro é inserido.

Podemos também definir valores default para campos do tipo UniqueIdentifier como newid(). Quando novos registros forem inseridos, o campo será preenchido automaticamente com uma sentença de caracteres únicos.


Assim que as tabelas são criadas, podemos acessar seus dados através de um módulo de execução de queries, muito semelhante ao antigo Query Analyzer como podemos ver na Figura 7.

 

wm_28-01-2008pic12.JPG 

Figura 7. Acessando os dados da tabela.

Uma vez que o banco de dados esteja pronto, podemos utiliza-lo diretamente na aplicação que iremos  desenvolver.

Exemplos práticos


Vamos criar um banco de dados simples com cadastro de nomes e e-mails. Uma agenda simples que pode futuramente ser aprimorada e transformada em um sistema completo de agendamentos e cadastro de contatos. Para criar o projeto, abra o Visual Studio 2005 e siga os passos abaixo:

1.      Clique no menu File | New Project;

2.      Na janela Project Types, selecione Visual C# | Smart Device | Windows Mobile 5.0 Smartphone;

3.      Na janela Templates, selecione Device Application;

4.      No campo Name, informe o nome AgendaSimples e clique em OK.

 

Iremos adicionar dois Labels, dois TextBoxs e um menu para o cadastro, como pode ser visto na Figura 8.


wm_28-01-2008pic13.JPG

Figura 8. Layout do projeto no Visual Studio

Adicionei apenas uma imagem para dar um toque mais real ao design. Na versão 2.0 do .NET CF, novos recursos foram criados para facilitar a criação de layouts mais interativos e complexos. Veja por exemplo, que ao mudar a cor de fundo do formulário, os Labels assumem a mesma cor para “encaixar” no layout.

Exemplo do layout do formulário

Antes de dar continuidade a codificação, vamos criar o banco de dados. Abra o SQL Server 2005.

1.      Na tela de conexão, selecione no campo Server type a opção SQL Server Mobile;

2.      No campo Database file, selecione a opção New Database;

3.      Na nova tela aberta, clique no botão Browse e selecione Mobile Device | My Documents e pressione OK.

4.      A tela será fechada e a tela anterior será mostrada novamente;

5.      Altere o nome padrão do banco de dados para Mobile Device\Agenda.sdf e pressione OK.

 

Uma mensagem será exibida informando que a senha para acesso ao banco não foi informada. Pressione Yes para manter a senha em branco. Agora o banco de dados já foi criado dentro da pasta My Documents no dispositivo. Clique em Connect para se conectar ao banco e criar suas tabelas.

 

Na janela da esquerda (Object Explorer), expanda o item Tables e clique com o botão da direita do mouse sobre o mesmo, escolhendo a opção New Table. Na janela aberta, podemos criar tabelas e campos para as mesmas (Figura 9).


wm_28-01-2008pic14.JPG

Figura 9. Criando a tabela (Contatos) no SQL Server 2005.

Iremos criar a tabela Contatos possuindo três campos, conforme a Tabela 1.

 

wm_28-01-2008pic15.JPG 

Tabela 1. Campos para a tabela Contatos

Assim que finalizado, clique em OK. Agora que a tabela foi criada, podemos continuar com a codificação. Devemos adicionar a referência ao namespace System.Data.SqlServerCe ao projeto. Para isso, clique no menu Project | Add Reference, selecione o item System.Data.SqlServerCe e pressione o botão OK. Dê um clique duplo sobre o menu Cadastrar e coloque o código da Listagem 1.

 

wm_28-01-2008pic16.JPG 

Listagem 1. Código do evento Click do menu Cadastrar.


Como vimos, o poder do Windows Mobile 5.0 junto ao Smartphone agora é ainda maior. Com o banco de dados no próprio dispositivo, a aplicação se torna mais simples de operar, e a manutenção no banco de dados é bem similar ao que o desenvolvedor já está acostumado.

Referências

·         www.microsoft.com/windowsmobile

·         www.devmedia.com.br/webmobile

·         www.codificando.net