Desenvolvimento - C#

Acesso a dados com Windows Phone 7 e SQL Server Compact : Criando o banco de dados - Parte 1

Veja neste artigo como trabalhar com acesso a dados no Microsoft Windows Phone 7 Mango, utilizando os recursos do Microsoft SQL Server Compact 4.0.

por Flávio Secchieri Mariotti



Veja neste artigo como trabalhar com acesso a dados no Microsoft Windows Phone 7 Mango, utilizando os recursos do Microsoft SQL Server Compact 4.0.

Introdução

Os smartphones e tablets estão dominando o mundo da tecnologia, e os aplicativos estão entre os itens mais vendidos no mercado de software.

Estamos vivenciando uma corrida intensa entre as principais empresas de desenvolvimento de software, tais como: Microsoft; Apple, Google, entre outras. O propósito é fazer com que o maior número possível de pessoas utilizem seus sistemas operacionais, são eles: MS Windows Phone, Apple iPhone, e Google Android e etc.

Fica fácil visualizar uma enorme oportunidade para os desenvolvedores de software expressarem suas criatividades e criarem aplicativos que podem ser usados por milhões de pessoas ao redor do mundo, além de atender a grande demanda do mercado corporativo.

Um estudo feito pela Gartnet prevê que o mercado de smartphones crescerá e haverá bilhões de dólares em jogo até 2014.

Sugestões

Para os iniciantes no desenvolvimento de aplicativos para plataforma móvel, sugeri a leitura dos dois primeiros artigos relacionados ao assunto.

· Desenvolvendo para Windows Phone 7 Mango:
http://www.linhadecodigo.com.br/artigo/3284/desenvolvendo- para-windows-phone-7-mango.aspx

· Criando aplicativos para Windows Phone 7 Mango:
http://www.linhadecodigo.com.br/artigo/3305/criando- aplicativos-para-windows-phone-7-mango.aspx

Framework .NET Compact

O Microsoft .NET Framework Compact é a versão do .NET Framework para dispositivos Windows Mobile e Windows Embedded CE que permite criar e executar aplicativos e utilizar Web Services.

Este framework também inclui uma Common Language Runtime (CLR) otimizada e um subconjunto de classes do .NET Framework que oferece suporte a recursos como, Windows Communication Foundation (WCF) e Windows Forms. Além de um conjunto de classes projetadas exclusivamente para estrutura móvel.

O Microsoft .NET Framework Compact oferece suporte à duas linguagem, são elas: Visual Basic (VB) e Visual C#. Além de oferecer suporte a outras importantes ferramentas como, Silverlight, XNA e Cloud services.

SQL Server Compact

O Microsoft SQL Server Compact 4.0, é a versão de banco de dados gratuita da Microsoft, atualmente sendo usado para desenvolver aplicativos para as plataformas web e mobile.

Esta versão do SQL Compact oferece suporte aos recursos do ADO.NET, LINQ e Entity Framework.

Saiba mais, http://www.microsoft.com/sqlserver/en/us/editions/compact.aspx

Requisitos para acompanhar este artigo

Para executar todas as tarefas e atividades descritas neste artigo, é necessário a instalação do Microsoft Windows Phone SDK 7.1. Este pacote contém as ferramentas necessárias para a criação de aplicativos suportados pela Windows Phone 7.5, este pacote pode ser baixo gratuitamente no endereço: http://create.msdn.com/en-us/home/getting_started

Os componentes que compõe o Windows Phone SDK 7.1, são:


· Microsoft Visual Studio 2010 Express for Windows Phone
· Windows Phone Emulator
· Windows Phone SDK 7.1 Assemblies
· Silverlight 4 SDK and DRT
· Windows Phone SDK 7.1 Extensions for XNA Game Studio 4.0
· Microsoft Expression Blend SDK for Windows Phone 7
· Microsoft Expression Blend SDK for Windows Phone OS 7.1
· WCF Data Services Client for Window Phone
· Microsoft Advertising SDK for Windows Phone

Requisitos de hardware e sistemas

Sistemas operacionais:

Windows 7, Windows Vista

Hardware:

Windows® Vista® (x86 and x64) with Service Pack 2 - all editions except Starter Edition
Windows 7 (x86 and x64) - all editions except Starter Edition
Installation requires 4 GB of free disk space on the system drive.
3 GB RAM
Windows Phone Emulator requires a DirectX 10 or above capable graphics card with a WDDM 1.1 driver

Criando o aplicativo com acesso a dados no Windows Phone - passo a passo

Este artigo tem como principal objetivo demonstrar de forma simples como trabalhar com banco de dados no Windows Phone utilizando o SQL Server Compact. Nos próximos passos, vamos aprender como executar as operações básicas de manipulação e acesso à base de dados, tais como:
· Inclusão,
· Alteração,
· Seleção,
· Remoção.

Primeiro passo: criando o arquivo físico do banco de dados


Abra o Visual Studio 2010 Express ou o SQL Management Studio. No meu caso, estarei utilizando o SQL Management Studio, porém esse procedimento pode ser executado no Visual Studio 2010 Express, sem nenhum problema.

Na tela Connect to Server, selecione para o campo Server Type o valor "SQL Server Compact", e para campo Database file, selecione a opção "". Conforme ilustrado na figura 1 abaixo.



Figure 1. Representação da tela, Connect to Server. Será apresentado uma tela solicitando algumas informações para criação do arquivo físico do banco de dados, para isso informe o diretório e nome do arquivo come extensão "sdf" e crie uma senha de acesso. A senha é opcional, porém é recomendado como melhorias práticas de segurança. O formulário deve ficar conforme a figura 2 abaixo.



Figure 2. Ilustração de como criar um novo arquivo físico para a base de dados

Segundo passo: Criando as tabelas do banco de dados

Para criar a tabela na nossa base de dados, basta clicar com o botão direito do mouse em tables e selecionar a opção New Table. Crie a tabela e as colunas conforme instruções a seguir:

Nome da tabela: TABELA
Campos:



Ao final, a tabela deve estar parecida com a apresentada na figura 3 abaixo.



Figure 3. Resultado da tabela criada no banco de dados

Pronto! Nossa base de dados está concluída.

Terceiro passo: Entendendo o conceito Isolated Storage

Para trabalhar com acesso a dados no Windows Phone primeiro precisamos entender a forma de acesso suportada pela plataforma. O Windows Phone oferece o conceito o Isoleted Storage que basicamente é um local de repositórios de arquivos com dados, tais como: txt, xml, imagens e agora o sdf.

A estrutura do Isoleted Storage funciona conforme a figura 4.



Figure 4. Representação da arquitetura do Isoleted Storage

Para saber mais informações sobre o isoleted storage, acesse: http://msdn.microsoft.com/en- us/library/ff402541(v=vs.92).aspx

Quarto passo: Gerando o arquivo ORM

Diferente das versões anteriores do sistema operacional Windows para plataformas móveis, a forma de trabalhar com o banco de dados está um pouco diferente como pode ser constatado na arquitetura apresentada no terceiro passo. Basicamente a diferença é que não vamos mais trabalhar com instruções SQL direto no código C# e sim com LINQ to SQL.

Precisamos então gerar o banco no formato DataContext em C#, ou seja, o arquivo Object-Relational Mapping (ORM) utilizando a ferramenta Sql Metal através do Command Prompt do Visual Studio 2010 Express. Para isso, abra o Visual Studio Commnad Prompt 2010 que pode ser encontrado no diretório de ferramentas do Visual Studio 2010 Express. Em seguida, digite no prompt do comando a instrução do sqlmetal conforme sintaxe apresentada abaixo.


sqlmetal "Caminho/NomedoArquivo.sdf" /passwork:"senha" /code:"Caminho/NomedoArquivoCsharpQueVaiSerGerado.cs" /language:csharp /namespace:"NomeDoNameSpaceDoProjeto" 
/context:"NomeDoContextDaBaseDeDados" /pluralize

A linha de comando para o banco de dados criado neste artigo, ficaria então, conforme ilustrado na figura 5 abaixo.



Figure 5. Gerando o arquivo ORM baseado na base sdf.

Conclusão

Este artigo apresentou as tecnologias e ferramentas necessárias para a criação de aplicativos com acesso a dados no Windows Phone 7. Além de demonstrar passo a passo como criar um banco de dados com o Microsoft SQL Server Compact 4.0 e gerar o arquivo ORM baseado no arquivo "sdf".

No próximo artigo vamos criar a interface do cliente e as instruções necessárias para acesso e manipulação dos dados com o Visual Studio 2010 Express e testar o aplicativo com o Windows Phone Emulator.
Flávio Secchieri Mariotti

Flávio Secchieri Mariotti - Especialista em Engenharia e Arquitetura de Software. Pós Graduado pelo Instituto de Pesquisa Avançada de Tecnologia IBTA em Engenharia de Software baseado em SOA. Bacharel em Sistemas de Informação pela UNIUBE e técnico em Processamento de Dados pela FEB. Consultor independente no desenvolvimento de software em arquitetura OO, SOA, GIS e Plataforma .NET.