8/18/2019 PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS COM A PLATAFORMA.NET.pdf
1/66
KATIA GOMES DA SILVA
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS COM APLATAFORMA .NET
Palmas – TO
2006
8/18/2019 PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS COM A PLATAFORMA.NET.pdf
2/66
2
KATIA GOMES DA SILVA
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS COM APLATAFORMA .NET
“Trabalho de Estágio apresentadocomo requisito parcial dadisciplina Prática de Sistemas deInformação I do curso de
Sistemas de Informação,orientado pelo Prof. M. Sc.Fernando Luiz de Oliveira”.
Palmas – TO2006
8/18/2019 PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS COM A PLATAFORMA.NET.pdf
3/66
3
KATIA GOMES DA SILVA
PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS COM A
PLATAFORMA .NET
“Trabalho de Estágio apresentadocomo requisito parcial dadisciplina Prática de Sistemas deInformação I do curso deSistemas de Informação,orientado pelo Prof. M. Sc.Fernando Luiz de Oliveira”.
BANCA EXAMINADORA
_____________________________________________Prof. M. Sc. Fernando Luiz de Oliveira
Centro Universitário Luterano de Palmas
_____________________________________________Profª. M. Sc. Madianita Bogo
Centro Universitário Luterano de Palmas
_____________________________________________Prof. M. Sc. Ricardo Marx Costa Soares de Jesus
Centro Universitário Luterano de Palmas
Palmas - TO
2006
8/18/2019 PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS COM A PLATAFORMA.NET.pdf
4/66
4
SUMÁRIO
1. INTRODUÇÃO................................................................................................ 8
2. REVISÃO DA LITERATURA......................................................................... 10
2.1 Dispositivos Móveis................................................................................ 10
2.1.1 Telefones Celulares Comuns.......................................................... 11
2.1.2 PDA´s ............................................................................................. 13
2.1.3 SmartPhones (Telefone Inteligente) ............................................... 13
2.2 Programação para Dispositivos Móveis ................................................. 15
2.2.1 J2ME............................................................................................... 15
2.2.2 QuickFrame .................................................................................... 152.2.3 .NET para Programação de Dispositivos Móveis............................ 16
2.3 Plataforma .NET .................................................................................... 17
2.3.1 Visual Studio .NET.......................................................................... 19
2.3.1.1 Emuladores..................................................................................... 19
2.3.2 .NET Compact Framework .............................................................. 20
2.4 Utilização de Web Services ................................................................... 22
2.5 Exemplificação da Integração das Tecnologias ..................................... 243. MATERIAIS E MÉTODOS ............................................................................ 31
3.1 Local e período ...................................................................................... 31
3.2 Material .................................................................................................. 31
3.3 Metodologia ........................................................................................... 32
4. RESULTADOS E DISCUSSÕES .............................................................. 33
4.1 Banco de dados ..................................................................................... 34
4.2 Criação do Web Service ........................................................................ 354.3 Desenvolvimento da aplicação para SmartPhone ................................. 40
5. CONSIDERAÇÕES FINAIS .......................................................................... 44
8/18/2019 PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS COM A PLATAFORMA.NET.pdf
5/66
5
LISTA DE FIGURAS
Figura 1 – Exemplos de dispositivos móveis ....................................................... 11
Figura 2 – Requisição de páginas Web através do protocolo WAP .................... 12
Figura 3 – Estrutura do .NET Framework ............................................................ 18
Figura 4 – Emulador ............................................................................................ 20
Figura 5 – Arquitetura do .NET Compact Framework .......................................... 21
Figura 6 – Ciclo de acesso ao Web Service ........................................................ 23
Figura 7 – Tela de desenvolvimento do protótipo................................................ 25
Figura 8 – Trecho do código do protótipo ContaFacil.vb ..................................... 25
Figura 9 – Código de ligação entre a aplicação e o Web Service ....................... 26Figura 10 – Tela da execução da aplicação no emulador SmartPhone .............. 27
Figura 11 – Código do método de retorno dos dados do Web Service ............... 27
Figura 12 – Arquivo XML................................................................................... 278
Figura 13 - Visualização do arquivo Produtos.asmx em um browser .................. 29
Figura 14 – Resultado da execução do método RetornaProdutos ...................... 30
Figura 15 – Arquitetura da aplicação................................................................... 33
Figura 16 – Modelo entidade relacionamento...................................................... 34Figura 17 – Classe e métodos do Web Service................................................... 35
Figura 18 – WebMethod consultarPorNome........................................................ 37
Figura 19 – Visualização do arquivo Service.asmx ............................................. 38
Figura 20 – Janela para inserção do parâmetro do método consultarPorNome . 39
Figura 21 – Resultado da execução do método consultarPorNome.................... 40
Figura 22 – Tela da página inicial da aplicação................................................... 41
Figura 23 – Método de consulta por nome .......................................................... 42Figura 24 – Código do caminho do Web Service ................................................ 42
Figura 25 – Tela do resultado da consulta por nome .......................................... 43
8/18/2019 PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS COM A PLATAFORMA.NET.pdf
6/66
6
LISTA DE ABREVIATURAS
ASMX = Active Server Method Extension
CLR = Commom Language Runtime
CLS = Common Language Specidication
HTTP = Hyper Text Transfer Protocol
IL = Intermediate Language
J2ME = Java 2 Micro Edition
MSIL = Microsoft Intermediate Language
PDA = Personal Digital Assistants SOAP = Simple Object Access Protocol
WAP = Wireless Application Protocol
WML = Wireless Makup Language
WSDL = Web Services Description Language
XML = Extensive Mark up Language
8/18/2019 PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS COM A PLATAFORMA.NET.pdf
7/66
7
RESUMO
Resumo: As aplicações desenvolvidas para dispositivos móveis estão passando
por grandes transformações tecnológicas, isso se deve à necessidade de haver
comunicação em qualquer lugar e a qualquer momento. Este trabalho visa
desenvolver uma aplicação para programação de dispositivos móveis, em
especial celulares (SmartPhones), a partir de uma aplicação básica de
armazenamento, busca e acesso a base de dados, utilizando a plataforma .NET,
Web Services e a ferramenta Visual Studio.NET para o desenvolvimento da
aplicação.
Palavras-chave: Dispositivos Móveis, Plataforma .NET, Web Services.
8/18/2019 PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS COM A PLATAFORMA.NET.pdf
8/66
8
1. INTRODUÇÃO
A mobilidade é o termo utilizado para identificar dispositivos que podem ser
operados à distância ou sem fio (NETTO, 2004). A particularidade que osusuários e empresas procuram na atualidade é poder executar as tarefas a
qualquer hora e em qualquer lugar, sem a dependência de fios ou de um
computador desktop. Os usuários, por meio dos dispositivos móveis, adquirem
mobilidade e ganhos de produtividade, desempenhando suas tarefas com acesso
mais fácil e abrangente à informação. As possibilidades de uso para esses
dispositivos são inúmeras, dentre as quais, podem ser citada a programação para
jogos, para entretenimento em geral, armazenamento e busca de informações,envio e recebimento de sons e imagens e acesso a Internet.
As tecnologias para desenvolvimento de aplicações para dispositivos
móveis oferecem recursos que permitem integrar diversos aplicativos e
plataformas, como J2ME (Java 2 Micro Edition), .NET e uma nova plataforma que
está em desenvolvimento, a QuickFrame, que se caracteriza por ser padronizada
para desenvolvimento de software para dispositivos móveis.
Um dos componentes da plataforma .NET que oferece a estrutura
necessária para o desenvolvimento de aplicações para dispositivos móveis é o
.NET Compact Framework, que acompanha o Visual Studio .NET. O Visual Studio
.NET é uma ferramenta que proporciona um ambiente de desenvolvimento
integrado em que se pode desenvolver, depurar, testar, disponibilizar Web
Services e aplicações (BASIURA et al., 2003). Além disso, oferece recursos
necessários para o desenvolvimento de aplicações móveis, tais como:
emuladores, que simulam um dispositivo móvel real e possui todos os recursos
oferecidos pelo mesmo, além de facilitar os testes durante o desenvolvimento.
8/18/2019 PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS COM A PLATAFORMA.NET.pdf
9/66
9
Este trabalho tem como objetivo, estudar as facilidades oferecidas pela
plataforma .NET no desenvolvimento de aplicações para dispositivos móveis, em
especial SmartPhones. Para exemplificar estas facilidades será desenvolvida uma
aplicação responsável por apresentar o resultado do vestibular do
CEULP/ULBRA, localizado em um banco de dados remoto, o qual será acessado
por meio de métodos de um Web Service. Desta forma, será realizada a
implementação de uma aplicação de armazenamento, busca e acesso a base de
dados.
Este trabalho está estruturado em capítulos, divididos da seguinte forma: o
capítulo 2 apresenta uma visão geral sobre os dispositivos móveis, a
programação para estes dispositivos, a ferramenta utilizada para odesenvolvimento da aplicação para os dispositivos móveis, a utilização da
plataforma .NET e seus componentes, assim como uma breve descrição de Web
Services. O capítulo 3 apresenta os materiais e métodos utilizados para o
desenvolvimento do trabalho. Já o capítulo 4 apresenta os detalhes do banco de
dados, da implementação do Web Service, do desenvolvimento da aplicação para
dispositivos móveis (SmartPhone) e os passos seguidos para seu
desenvolvimento. Em seguida, o capítulo 5 apresenta as considerações finaissobre o trabalho. Por fim, no capítulo 6 são apresentadas as referências
bibliográficas utilizadas para o desenvolvimento deste trabalho.
8/18/2019 PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS COM A PLATAFORMA.NET.pdf
10/66
10
2. REVISÃO DA LITERATURA
Para o desenvolvimento deste trabalho foram realizadas pesquisas e estudos
sobre dispositivos móveis, plataforma .NET e Web Services, a fim de fornecer
embasamento teórico sobre os mesmos. Esses estudos estão disponibilizadosnas seções seguintes.
2.1 Dispositivos Móveis
Os dispositivos móveis são ferramentas que podem ser utilizadas em qualquer
lugar que, além das funcionalidades de agenda eletrônica ou assistente pessoal,
se caracterizam por serem sistemas computadorizados que facilitam a
comunicação, através do acesso à Internet. Têm o objetivo de atender aos
usuários em movimento que necessitem de rapidez, facilidade e segurança no
acesso a informações, independentemente da sua localização física (PEKUS,
2002). São, por isso, tecnologias para a interligação de dispositivos móveis à
grande rede, possibilitando, não só o tráfego de voz, mas também o envio e
recebimento de dados, suprindo a necessidade de dispor de dados o tempo todo
e em qualquer lugar.Estas operações são viáveis por meio de um dispositivo portátil (móvel)
como telefones móveis (celulares), diferentes tipos de PDA´s (Personal Digital
Assistants) ou os SmartPhones, que são a junção do telefone celular com
diversos atributos de um PDA (TARIFA, 2004). A Figura 1 apresenta alguns
exemplos de dispositivos móveis.
8/18/2019 PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS COM A PLATAFORMA.NET.pdf
11/66
11
Figura 1 – Exemplos de dispositivos móveis
A Figura 1 apresenta alguns exemplos de dispositivos móveis, sendo dois
modelos de Pocket PC e um SmartPhone.
2.1.1 Telefones Celulares Comuns
Os telefones celulares evoluíram de simples mecanismos de comunicação por
voz para agenda eletrônica, entreterimento em geral, acesso à Internet, ou seja,
dispositivos móveis que podem ser operados em qualquer lugar e a qualquer
hora.
Os aparelhos celulares comuns não possuem a opção de download esoftware de instalação, além do que foi configurado durante o processo de
fabricação. Alguns possuem apenas a opção de navegar pela Internet. A
navegação pela Internet, via celular, é realizada através da utilização de um mini-
browser , embutido no aparelho, para interpretar o conteúdo das páginas
acessadas.
Para o acesso à Internet, o telefone celular necessita da tecnologia WAP
(Wireless Application Protocol ), criada para visualização de páginas da Internetem clientes simplificados, com baixa capacidade de processamento, ou seja, a
8/18/2019 PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS COM A PLATAFORMA.NET.pdf
12/66
12
tecnologia WAP, consiste na transformação, adaptação e criação de conteúdos
da Internet para a visualização na tela de um celular (MSDN, 2003d). Esta
tecnologia caracteriza-se por ser um protocolo de transmissão de dados. Para
que as páginas da Internet sejam acessíveis por aparelhos celulares, é
necessário utilizar a linguagem WML (Wireless Makup Language), que é a
linguagem usada para montar as páginas acessíveis por esta tecnologia. A Figura
2 mostra como essas páginas são requisitadas a partir do protocolo WAP.
Figura 2 – Requisição de páginas Web através do protocolo WAP
Para oferecer páginas WML acessíveis por celulares, é necessário utilizar
um mini-browser , um recurso embutido no aparelho, que é responsável pela
visualização das páginas de Internet na tela do aparelho. A requisição da página é
feita através dos protocolos TCP/IP e HTTP (Hyper Text Transfer Protocol ), que
estabelece a comunicação com a Internet. Para demonstrar passo a passo àrequisição de páginas Web por celulares, a requisição será dividida em 5 etapas,
conforme ilustrado na Figura 2: a etapa 1 representa a solicitação do cliente de
uma página da Internet; na etapa 2 o gateway recebe a requisição e converte
para o padrão HTTP/TCP/IP e envia para o servidor Web; na etapa 3 o servidor
Web recebe a solicitação e gera a página em código WML e envia para o
gateway ; na etapa 4 o gateway recebe o código WML da página e, então, o
encaminha para o cliente; e, por fim, na etapa 5 a página requisitada será
visualizada pelo cliente (celular).
CLIENTE GATEWAY WAP SERVIDOR
Requisição
Resposta
Requisição
Resposta Conteúdo
WML
ConversorHTTP e TCP/IP
CLIENTE GATEWAY WAP
SERVIDOR WEB
2
3
1
45
8/18/2019 PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS COM A PLATAFORMA.NET.pdf
13/66
13
2.1.2 PDA´s
A necessidade de disponibilizar aplicações e informações em qualquer momento
e em qualquer lugar fez surgir uma linha de dispositivos móveis conhecidos como
PalmTops ou Pocket PCs. Esses dispositivos podem ser considerados uma
revolução, pois foram capazes de atingir o cotidiano das pessoas e fazer parte da
vida delas, modificando suas rotinas e decisões. Os Pockets possuem grande
quantidade de memória, telas com pontos sensíveis a toques, mouse simulado
por uma caneta (chamada de stylus), possuem modem, teclado e câmera digital
acoplada, tela colorida, rede sem fio embutida, ou seja, são computadores
pessoais portáteis que auxiliam nas atividades do dia-a-dia (MIRANDA, 2004).
Mas ainda não possuem a mesma capacidade de processamento e memória de
um computador de mesa.
2.1.3 SmartPhones (Telefone Inteligente)
Para evitar o desconforto pela necessidade de carregar um PDA e um celular,
além da necessidade de se obter maiores recursos e formas de aproveitar as
novas opções de conectividade e transmissão de dados em alta velocidade, foram
criados os SmartPhones. Estes dispositivos correspondem a um telefone celular
que possui atributos dos PDAs, com maior capacidade de memória e
processamento, recursos de expansibilidades e facilidades de acesso à Internet
(MIRANDA, 2004).
Os SmartPhones foram planejados para serem usados da mesma maneira
que um celular, porém, com os recursos técnicos disponíveis em um PDA,
reunindo a mobilidade do primeiro e a capacidade de processamento do segundo.
A Microsoft criou um conjunto de setas para facilitar a manipulação da navegação,
discagem e acesso a dados no SmartPhone (TARIFA, 2004). Apesar das
semelhanças, os SmartPhones possuem uma tela pequena, não sensível ao
toque e não suportam caneta (stylus) para simular o mouse (MIRANDA, 2004).
8/18/2019 PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS COM A PLATAFORMA.NET.pdf
14/66
14
Alguns dos recursos que acompanham os SmartPhones são: o sistema
operacional Windows, Internet Explorer , Media Player e MSN Messenger . É
possível, ainda, a instalação de diversos aplicativos, além de trazer o .NET
Compact Framework já instalado. Segundo Guimarães (2004), o SmartPhone
realiza tarefas básicas que um computador é capaz de fazer, gerencia e-mails,
arquivos de texto, áudio e vídeo, tira fotos, navega em alta velocidade pela
Internet, transfere dados para outros equipamentos e possui o tamanho de um
celular comum. É um dispositivo móvel pequeno, que auxilia na realização de
tarefas enquanto seus usuários estão em movimento, proporcionando ganho de
tempo.
Porém, existem limitações computacionais devido ao tamanho destesdispositivos, juntamente com os poucos recursos de hardware, uma vez que a
capacidade de processamento, armazenamento, memória, entre outros, são
inferiores ao de um computador convencional, ou seja, possuem arquiteturas e
tecnologias limitadas. Por isso, os mesmos não são capazes de realizar tarefas
com o mesmo desempenho de um computador, além de não ser tão prático para
atividades como: montar documentos grandes, digitar e trabalhar com recursos
visuais. A necessidade de um sistema operacional para ser utilizado nesses
dispositivos fez surgir sistemas operacionais como: Palm OS, que oferece
segurança para o armazenamento de informações e facilita a integração de
equipamentos com o ambiente de rede (PALM OS, 2005); Symbian OS,
desenvolvido exclusivamente para dispositivos móveis (SYMBIAN, 2005);
Windows CE, versão simplificada do Windows, criada pela Microsoft, que
facilmente pode ser embutido em hardware de pequena capacidade de memória eprocessamento (MICROSOFT, 2005). A Microsoft lançou uma versão especial do
Windows CE, adaptando a interface para o uso de SmartPhones, o sistema
operacional Windows Mobile (MICROSOFT, 2005).
8/18/2019 PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS COM A PLATAFORMA.NET.pdf
15/66
15
2.2 Programação para Dispositivos Móveis
As aplicações desenvolvidas com a plataforma .NET, para serem executadas em
dispositivos móveis, necessitam de alguns recursos que os aparelhos celulares
comuns não possuem. Isso ocorre devido a vários fatores como, por exemplo, os
diferentes tipos de aparelhos que usam processadores e hardware diferentes.
Além de possuírem arquiteturas e tecnologias diferentes, outro fator limitante
refere-se a pouca quantidade de memória para armazenamento de dados e
programas, o que dificulta a instalação de qualquer versão do .NET em celulares
comuns (MIRANDA, 2004).
Inicialmente, para o desenvolvimento de aplicações para dispositivosmóveis, existiam apenas as linguagens derivadas do C++ e Visual Basic,
conhecidas como eVC e eVB (MIRANDA, 2004). A partir destas, surgiram outras
tecnologias para o desenvolvimento de aplicações para dispositivos móveis, como
o J2ME, que não define um novo tipo de Java, mas adapta sua plataforma para
que seja possível executar programas em dispositivos móveis (SUN, 2005); a
QuickFrame, projeto que visa padronizar uma plataforma para dispositivos móveis
(UNICAMP, 2005); e o .NET, plataforma que possui sua versão para dispositivosmóveis chamada de .NET Compact Framework (MSDN, 2003a). As seções
seguintes resumem cada uma destas tecnologias.
2.2.1 J2ME
O Java 2 Micro Edition (J2ME) é a versão do Java desenvolvida para dispositivos
móveis, projetada para dispositivos com memória, vídeo e poder deprocessamento limitado (MUCHOW, 2004). A plataforma J2ME é dividida em três
camadas: configurações, perfis e máquina virtual (SUN, 2005). São camadas
trabalhadas especialmente para serem utilizadas na programação para
dispositivos móveis.
2.2.2 QuickFrame
8/18/2019 PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS COM A PLATAFORMA.NET.pdf
16/66
16
Com o objetivo de diminuir as barreiras no desenvolvimento de soluções de
mobilidade e maximizar o poder criativo do maior número possível de empresas
brasileiras de desenvolvimento de softwares, a Universidade Estadual de
Campinas (Unicamp), em parceria com a Intel, a Compera e a Universidade
Federal de Mato Grosso do Sul (UFMS), encaminharam à Financiadora de
Estudos e Projetos (Finep) um projeto para a criação de uma nova plataforma de
desenvolvimento de software para dispositivos móveis: o QuickFrame (UNICAMP,
2005). O projeto tem como principal objetivo desenvolver uma plataforma padrão
para dispositivos móveis, e está previsto para ser concluído em 2006. O objetivo
do projeto é desenvolver uma plataforma básica e estrutural de código aberto
para a criação de aplicações genéricas (FUOCO, 2005), ou seja, permitir que osprogramadores escrevam apenas uma vez o software para celulares, que rode
em qualquer modelo de aparelho, independentemente da tecnologia e de
características, tal como o tamanho da tela, por exemplo.
2.2.3 .NET para Programação de Dispositivos Móveis
Para a programação de dispositivos móveis, o .NET oferece várias ferramentas
como o ASP .NET e .NET Compact Framework. Uma aplicação criada através do
ASP .NET para dispositivos móveis é semelhante à de uma aplicação ASP .NET
para páginas comuns, inclusive possuindo a mesma extensão de arquivo: ‘.aspx’
(AVELINO, 2004). O seu diferencial são os controles de servidor especializados
para dispositivos móveis, responsáveis por possibilitar que uma página ASP .NET
seja adaptada automaticamente de acordo com o dispositivo utilizado. Assim,
pode-se acessar páginas ASP .NET em dispositivos móveis (um celular, porexemplo), ou mesmo acessá-las normalmente através do navegador Web de um
microcomputador.
Os controles de servidor, tanto para páginas ASP.NET comuns quanto
para dispositivos móveis, são praticamente os mesmos. Por exemplo, um controle
de servidor Label de uma página ASP. NET comum produz o mesmo efeito de
uma que será executada para um dispositivo móvel. Porém, internamente
possuem características diferentes, pois o controle para páginas comuns precisaapenas mostrar saída HTML. Já o controle para dispositivos móveis precisa
8/18/2019 PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS COM A PLATAFORMA.NET.pdf
17/66
17
primeiro preocupar-se com o dispositivo utilizado antes de exibir o texto solicitado,
utilizando uma linguagem também de marcação, a WML (Wireless Modeling
Language), projetada para especificar interfaces para dispositivos móveis,
levando em consideração o tamanho da tela e o mecanismo de paginação do
dispositivo (AVELINO, 2004).
Com o .NET Compact Framework (.NET CF) é possível o desenvolvimento
de aplicações para dispositivos móveis, como Pockets e SmartPhones, usando
linguagens como VB.NET, C# ou J# (NETTO, 2005), além da utilização de Web
Services. O conceito do .NET Compact Framework será apresentado nas
subseções seguintes.
2.3 Plataforma .NET
Segundo Deitel, Deitel e Nieto (2004), a plataforma .NET permite uma
independência de linguagem, plataforma e de dispositivo na implementação de
software, possibilitando ao desenvolvedor, por exemplo, a escolha da linguagem
de programação no momento da criação do aplicativo, bastando que a linguagem
seja suportada pelo .NET. Para saber se a linguagem é compatível com o .NET
existe uma especificação, conhecida como CLS (Common Language
Specidication) (MSDN, 2003b), que define um conjunto de regras que as
linguagens que implementam a .NET devem seguir.
A plataforma .NET é executada sobre uma Commom Language Runtime
(CLR), responsável pela execução do programa, que é capaz de executar mais de
vinte linguagens diferentes de programação (Pascal, C++, Haskell, Java, Scheme,
C#, VB, J#, etc.), interagindo entre si, possibilitando o desenvolvimento em
multilinguagens (MSDN, 2003c). Por isso, em um mesmo projeto pode-sedesenvolver cada módulo em uma linguagem diferente.
Um dos principais elementos da plataforma .NET é o .NET Framework , que
provê os serviços e componentes necessários para o desenvolvimento e
execução de aplicações baseadas em .NET. A arquitetura do .NET Framework
consiste de alguns componentes como: CLR e .NET Framework Class Library ,
como mostra a Figura 3 (MSDN, 2003b).
8/18/2019 PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS COM A PLATAFORMA.NET.pdf
18/66
18
Figura 3 – Estrutura do .NET Framework
Na Figura 3, são definidos os componentes do .NET Framework . Entre eles
estão a CLR, que é um ambiente de execução, o qual dá suporte às linguagens
habilitadas. Para que uma linguagem esteja habilitada ao .NET, seu compilador
deve gerar o chamado código Microsoft Intermediate Language (MSIL), abreviado
como Intermediate Language (IL) (MSDN, 2003c). Este é o código que será
executado pela CLR, ou seja, as linguagens são compiladas para um códigointermediário denominado IL que define as instruções para o CLR, depois disso o
código IL será compilado para código de máquina, criando, assim, um aplicativo
único.
O motivo da compilação para um código intermediário deve-se a
necessidade de portabilidade entre sistemas operacionais, a interoperabilidade
entre as linguagens e os recursos de gerenciamento de execução, tornando os
programas desenvolvidos no .NET independentes de plataforma. Assim, o código,uma vez escrito e compilado, pode ser executado em qualquer plataforma de
sistema operacional (GALVIN, 2004).
“A interoperabilidade de linguagens oferece vários
benefícios às empresas de software. Os desenvolvedores de Visual
Basic .NET e Visual C++ .NET podem trabalhar lado a lado no mesmo
projeto sem ter que aprender uma outra linguagem de programação –
todos os seus códigos são compilados em MSIL e ligados para formarum programa” (DEITEL, 2004).
8/18/2019 PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS COM A PLATAFORMA.NET.pdf
19/66
19
Outro componente do .NET Framework é o .NET Class Library, que é uma
coleção de classes e tipos integrada com o ambiente de execução (MSDN,
2003b). Para o desenvolvimento de aplicações para dispositivos móveis utilizando
o .NET é possível utilizar um simples editor de texto, porém, para um
desenvolvimento mais completo é recomendável um ambiente mais sofisticado,
como o Visual Studio .NET, tema abordado na próxima seção.
2.3.1 Visual Studio .NET
O Visual Studio .NET facilita o desenvolvimento de aplicações para dispositivos
móveis, uma vez que permite que uma aplicação seja desenvolvida numa mesma
ferramenta, sem a preocupação com o formato do aparelho a ser utilizado, bem
como quais os recursos que o mesmo disponibilizará. Assim, a aplicação poderá
ser desenvolvida e utilizada tanto por um PDA, como por um SmartPhone.
Com o Visual Studio .NET podem-se criar páginas para Web, criar software
para Windows, ou seja, programas que serão instalados e utilizados no
computador, criar software para dispositivos móveis, utilizando as mesmas
linguagens, como VB.NET, C# ou J#, ou o desenvolvimento em multilinguagens.
Suporta, também, o desenvolvimento de Web Services, além de facilitar a
atividade de testes da aplicação, através dos emuladores disponíveis, que será
visto na seção a seguir.
2.3.1.1 Emuladores
Para que seja possível a simulação de um dispositivo móvel, é necessário instalar
um SDK (Software Development Kit ) na ferramenta Visual Studio .NET,
permitindo que sejam feitos testes durante o desenvolvimento de uma aplicação
para dispositivos móveis. Um emulador de dispositivos móveis representará um
dispositivo real com todos os recursos que o mesmo possui, de acordo com o tipo
de aplicação que será desenvolvida, possibilitando, caso necessário, os ajustes
no aplicativo. Assim, quando for necessário executar uma aplicação na
8/18/2019 PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS COM A PLATAFORMA.NET.pdf
20/66
20
ferramenta de desenvolvimento, pode-se escolher se será executado no
emulador, representado na Figura 4, ou em um dispositivo real que possui suporte
à plataforma .NET Compact Framework , pois a ferramenta Visual Studio .NET
disponibiliza essas opções.
Figura 4 – Emulador
A Figura 4 representa a tela principal do emulador do SmartPhone, queserve para simular a execução de uma aplicação, não sendo necessário um
dispositivo real.
2.3.2 .NET Compact Framework
Para suprir a necessidade de uma plataforma específica para dispositivos móveis,
a Microsoft desenvolveu o .NET Compact Framework (.NET CF) (MSDN, 2003a).O .NET CF é uma versão simplificada do .NET Framework , com um conjunto
específico de ferramentas, desenvolvido especialmente para a implementação de
aplicações em dispositivos móveis. Já que o .NET CF é um subconjunto do .NET
Framework , os desenvolvedores podem reutilizar grande parte da experiência e
conhecimento adquiridos na implementação de aplicações desktop para o
desenvolvimento de aplicações para dispositivos móveis. A arquitetura do .NET
Compact Framework é demonstrada na Figura 5 (MSDN, 2003b).
8/18/2019 PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS COM A PLATAFORMA.NET.pdf
21/66
21
Figura 5 - Arquitetura do .NET Compact Framework
A Figura 5 ilustra os elementos do .NET CF. Por ser uma versão
simplificada da .NET Framework , a .NET CF possui uma nova implementação da
CLR, modificada para suportar a execução de aplicações em dispositivos móveis,
isto é, com memória, processamento e bateria limitados. A biblioteca de classes
(Class Library ) do .NET CF possui menos da metade das classes da versão
completa do . NET Framework . Porém, possui todas as classes básicas do .NET
Framework , o que é suficiente para o desenvolvimento da maioria das aplicações
(MSDN, 2003b), como, por exemplo, suporte à WinForms (formulários e
controles), data binding (ligação de dados), networking (recursos de acesso à
rede LAN/WAN e suas derivações Wireless) e acesso a dados.
Um dos fatores que levaram a exclusão de algumas classes da biblioteca
do .NET Framework na versão simplificada é que as aplicações que são
computacionalmente difíceis de programar contradiz os objetivos do .NET CF:
minimizar o processo de desenvolvimento de aplicações. Por essa razão, o .NET
Compact Framework exclui funcionalidades como XML Path Language (XPath) e
Extensible Stylesheet Language Transformations (XSLT) presentes na versão
completa do .NET Framework (PEKUS, 2002).
8/18/2019 PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS COM A PLATAFORMA.NET.pdf
22/66
22
O .NET CF possibilita, também, o desenvolvimento de aplicações em
multilinguagens, ou seja, em uma mesma aplicação pode-se construir cada
módulo em uma linguagem diferente, por exemplo: a classe de acesso a dados
em C# e os módulos de interface em VB.NET possibilitando a integração de
várias linguagens numa mesma plataforma (NETTO, 2005).
As aplicações desenvolvidas com o .NET CF possuem algumas
características como:
• uma variedade expressiva de componentes visuais que são utilizados no
desenvolvimento de aplicações como, por exemplo, botões, imagens, além de
ser possível fazer uso de recursos de interface mais sofisticados, por exemplo,
animações.
• é possível desenvolver aplicações que possuem a opção de trabalhar off-line,
ou seja, processam dados localmente sem a necessidade de uma conexão
ativa.
A plataforma .NET CF permite também o desenvolvimento de aplicações
que utilizam à tecnologia de Web Services. A utilização de um Web Service será
apresentada na próxima seção.
2.4 Utilização de Web Services
Gumz (2005) resume o Web Service como um padrão de computação distribuída,
na qual deve existir a criação, publicação, localização e acesso por sistemas
remotos. A utilização de Web Services permite a comunicação de diferentes
aplicações, podendo ser uma aplicação Web, uma aplicação Windows, ou de um
dispositivo móvel, sendo que as informações podem ser compartilhadas e
acessadas por essas aplicações, possibilitando consultas em tempo real aos
dados. Assim, um Web Service pode ser desenvolvido na plataforma .NET e ser
acessado por uma aplicação desenvolvida em outra plataforma, como a
plataforma Java, e vice-versa.
Assim, como os dispositivos móveis apresentam algumas limitações de
recursos computacionais, a utilização do Web Service é um fator importante para
o desenvolvimento das aplicações. Isto porque parte do processamento passa aser função de servidores remotos, uma vez que o Web Service passa a ser o
8/18/2019 PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS COM A PLATAFORMA.NET.pdf
23/66
23
responsável pela conexão entre a aplicação e os dados armazenados no banco de
dados, além de proporcionar a consulta de outras aplicações aos dados
disponibilizados por meio dos serviços do Web Service, conforme mostra a Figura
6.
Figura 6 – Ciclo de acesso ao Web Service
A Figura 6 ilustra o ciclo de acesso ao Web Service, em que vários tipos de
clientes conectados à Internet podem ter acesso a diversos tipos de Web
Services, adequados para uso ou exibição no cliente que o solicitou, os quais
podem estar ligados a um banco de dados.
Para que a aplicação possa se comunicar com o Web Service, pode-se
usar a WSDL (Web Services Description Language). Esta é uma linguagem
baseada em XML (Extensive Markup Language) para a representação das
funcionalidades de um Web Service (PEREZ, 2004). Essas funcionalidades
podem ser definidas em arquivos do tipo ‘.asmx’ ( Active Server Method
Extension), que descrevem exatamente como as duas partes, provedor do Web
Service e a aplicação que o utilizará, deverão se comunicar. As aplicações para
dispositivos móveis funcionam como clientes para Web Service, isto é, consomem
os serviços do Web Service, assim quando uma informação for solicitada por um
cliente (aplicação), o Web Service retornará os dados apropriados.
As funcionalidades de um Web Service são, resumidamente,
fundamentadas na troca de dados e informações. Como ele é baseado no
protocolo SOAP (Simple Object Access Protocol ), utilizado para o transporte de
dados e informações (SOAP, 2003), qualquer plataforma que interprete rotinas
HTTP (Hyper Text Transfer Protocol ) e manipule a linguagem XML pode utilizar
BANCO DE DADOS
WEB SERVICES
CLIENTE
INTERNET
XML
8/18/2019 PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS COM A PLATAFORMA.NET.pdf
24/66
24
os dados dos Web Services sem qualquer problema (PEREZ, 2004). O protocolo
SOAP proporciona ao Web Service uma independência de plataforma, linguagem
e localização. Não importa a linguagem que a aplicação foi desenvolvida, nem a
plataforma usada, assim como não importa onde o cliente está localizado, o Web
Service tem a capacidade de estabelecer conexão e compartilhar dados entre
sistemas diferentes, sem estarem ligados entre si.
A seguir será apresentado um protótipo que servirá para exemplificar
algumas das características apresentadas anteriormente, a fim de analisar o
ambiente de desenvolvimento e o modelo de programação sugerido para este
trabalho. Como ambiente de desenvolvimento do protótipo foi utilizado o Visual
Studio .NET 2005, o .NET Compact Framework , Web Service e, para avisualização e realização dos testes, foi utilizado um emulador (SDK SmartPhone
2003), já instalado no Visual Studio.
2.5 Exemplificação da Integração das Tecnologias
Como base para o desenvolvimento de uma aplicação para dispositivos móveis,
foi usada a aplicação de nome “ContaFacil” de Tarifa (2004). A aplicação
desenvolvida é responsável por realizar uma consulta dos valores do cardápio
(menu) de um restaurante, o qual será apresentado na tela do emulador
SmartPhone, utilizando Web Service. A Figura 7 mostra a tela da aplicação sendo
desenvolvida.
8/18/2019 PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS COM A PLATAFORMA.NET.pdf
25/66
25
Figura 7 – Tela de desenvolvimento do protótipo
O protótipo foi criado a partir de um arquivo chamado ContaFacil.vb, que
possui o código na linguagem VB.NET. No Visual Studio .NET, quando se inicia
uma aplicação para dispositivos móveis, um menu já está acoplado ao formulário,
como mostra a Figura 7, é necessário, apenas, definir as suas opções e
implementar seus métodos. Para esta aplicação foi criada, no menu, a opção
“Valores” que, quando selecionada, irá abrir outro formulário, onde serão
apresentados os valores que contém no menu do restaurante, conforme parte dos
códigos mostrados na Figura 8.
Figura 8 – Trecho do código do protótipo ContaFacil.vb
Private Sub menuSair_Click(ByVal sender As System.Object, ByVal eAs System.EventArgs) Handles menuSair.Click
Me.Close()End Sub
Private Sub menuValores_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles menuValores.Click
'Instancia um objeto do tipo frmValorDim frmNovo As New frmValor'Chama o formulário instanciadofrmNovo.ShowDialog()
End Sub
8/18/2019 PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS COM A PLATAFORMA.NET.pdf
26/66
26
Na Figura 8, o método menuValores_Click é responsável por chamar
um novo formulário, “frmValor”, que é o formulário final da aplicação. O método
menuSair_Click é responsável pelo encerramento da execução. A seguir,
após a seleção da opção “1 Valores” do menu na tela do emulador, conforme
mostrado na Figura 7, o código existente no evento Load do formulário
“frmValor” instancia a função de retorno dos dados requisitados, presente na
aplicação do Web Service, conforme indicado na Figura 9.
l
Figura 9 – Código de ligação entre a aplicação e o Web Service
A partir da execução do evento Load, o resultado da função
“RetornaProdutos” do Web Service, que será apresentado mais a frente, é
apresentado no emulador, conforme mostra a Figura 10.
Public Class frmValorInherits System.Windows.Forms.FormFriend WithEvents lstProdutos As System.Windows.Forms.ListViewFriend WithEvents colProdutos As System.Windows.Forms.ColumnHeaderFriend WithEvents colValor As System.Windows.Forms.ColumnHeaderFriend WithEvents MainMenu1 As System.Windows.Forms.MainMenu
Private Sub lstProdutos_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)HandleslstProdutos.SelectedIndexChanged
End Sub
Private Sub frmValor_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim i As Integer'Instancia WS como um objeto do tipo Produtos (do WebService)Dim WS As New Produtos.Produtos'Declara um novo DataSetDim ds As New DataSet'Carrega o DataSet com o retorno da funçãods = WS.RetornaProdutoslstProdutos.Items.Clear()For i = 1 To ds.Tables(0).Rows.Count - 1
Dim Item As New ListViewItem(ds.Tables(0).Rows(i).Item(1).ToString)Item.SubItems.Add(ds.Tables(0).Rows(i).Item(2).ToString)lstProdutos.Items.Add(Item)
NextEnd Sub
8/18/2019 PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS COM A PLATAFORMA.NET.pdf
27/66
27
Figura 10 – Tela da execução da aplicação no emulador SmartPhone
A Figura 10 mostra os valores que são retornados quando requisitados
pela aplicação e que são a fonte de dados do Web Service, o código responsável
pelo retorno dos dados do Web Service será apresentado na Figura 11.
Figura 11 – Código do método de retorno dos dados do Web Service
Imports System.WebImports System.DataImports System.Web.ServicesImports System.Web.Services.Protocols _ _ _Public Class Produtos'Declara a classe que implementa o Web Service e seus métodos
Inherits System.Web.Services.WebService
'O método é acessado via Web devido à declaração do _
Public Function RetornaProdutos() As DataSet'Declara um objeto DataSetDim ds As New DataSet'Lê o arquivo XML criadods.ReadXml(Server.MapPath("Produtos.xml"))'Retorna o dsReturn ds
End FunctionEnd Class
8/18/2019 PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS COM A PLATAFORMA.NET.pdf
28/66
28
A Figura 11 apresenta o arquivo “Produtos.asmx”, que contém o código
do método que retorna os dados vindos do Web Service, “RetornaProdutos”,
quando requisitados pela aplicação. A linguagem utilizada para o
desenvolvimento do Web Service foi a XML (Extensive Markup Language). A
fonte de dados do Web Service é um arquivo XML, chamado de
Produtos.xml. O formato do arquivo XML utilizado será apresentado na Figura
12.
Figura 12 – Arquivo XML
A Figura 12 mostra o arquivo XML contendo os dados que serão
apresentados quando requisitados pelo método do Web Service.
A visualização do Web Service pode ser feita através do navegador da
Internet (browser ). A visualização do arquivo que representa as funcionalidades
do Web Service é um arquivo do tipo “.asmx”, representado na Figura 13.
1Lasanha20,00
2Pizza15,00
3Rodízio11,00
4Sobremesa5,00
8/18/2019 PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS COM A PLATAFORMA.NET.pdf
29/66
8/18/2019 PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS COM A PLATAFORMA.NET.pdf
30/66
30
Figura 14 – Resultado da execução do método RetornaProdutos
A Figura 14 apresenta a execução do método que retorna os valores
requisitados, obtidos a partir dos dados de um arquivo XML.
8/18/2019 PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS COM A PLATAFORMA.NET.pdf
31/66
31
3. MATERIAIS E MÉTODOS
Neste capítulo serão apresentados os detalhes referentes aos materiais e
metodologia utilizados no processo de desenvolvimento deste trabalho.
3.1 Local e período
O trabalho foi desenvolvido como requisito parcial da disciplina de Prática em
Sistemas de Informação I, do curso de Sistemas de Informação do Centro
Universitário Luterano de Palmas, no primeiro semestre de 2006 e foi
desenvolvido no laboratório do Programa Gerador de Novos ReferenciaisTecnológicos para a Região Norte - GENORTE. As atividades relacionadas a este
trabalho tiveram início no mês de janeiro de 2006 e término em julho de 2006.
3.2 Material
Os materiais utilizados podem ser divididos em três categorias: hardware,
software e fontes bibliográficas. A primeira é constituída por um notebook com
processador Intel inside Celeron M, com clock de 1.4 Ghz, 512 Mb de memória
RAM e HD com 60 Gb, responsável pelo armazenamento dos dados, criação e
execução da aplicação.
Os softwares utilizados foram os seguintes:
• Microsoft Wod 2003;
• Microsoft SQL Server;
• Microsoft .NET Framework 1.1;
8/18/2019 PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS COM A PLATAFORMA.NET.pdf
32/66
32
• Microsoft .NET Framework SDK v2.0;
• Microsoft Visual Studio 2005 Beta 2, para construção da aplicação para
dispositivos móveis, para a criação do Web Service, além da execução de
testes utilizando-se o emulador por ele provido;
• Microsoft ActiveSync 4.0;
• Adobe Acrobat Reader, para a leitura de referências bibliográficas.
Todo material bibliográfico utilizado pode ser observado no capítulo 6 -
Referências Bibliográficas.
3.3 Metodologia
A metodologia utilizada para o desenvolvimento da aplicação para dispositivos
móveis iniciou-se com um estudo teórico sobre programação para dispositivos
móveis, a plataforma .NET Compact Framework e a utilização de Web Services.
Três etapas foram utilizadas para a finalização desse trabalho: a criação do banco
de dados, a criação do Web Service e o desenvolvimento da aplicação para
dispositivos móveis.
O banco de dados para o armazenamento das informações foi criado no
Microsoft SQL Server . Em seguida, foi criado o Web Service para o acesso aos
dados armazenados no banco de dados. No Web Service foram criados métodos
de consultas para verificar o resultado do vestibular do CEULP/ULBRA. Por fim,
foi desenvolvida a aplicação para dispositivos móveis (SmartPhone), responsável
por fazer o acesso ao Web Service que buscará os dados e os retornará para a
aplicação, que, posteriormente, irá gerar o código resultante para ser visualizado
no SmartPhone.
8/18/2019 PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS COM A PLATAFORMA.NET.pdf
33/66
33
4. RESULTADOS E DISCUSSÕES
O objetivo deste capítulo é apresentar alguns dos resultados obtidos com a
prática da criação da aplicação .NET Compact Framework para dispositivos
móveis a partir dos estudos realizados anteriormente. Dentre eles, a criação de
Web Service, a criação da aplicação para SmartPhone, utilizando a ferramenta
Visual Studio .NET, seus elementos e sua implementação, com o objetivo de
demonstrar a integração destas tecnologias.
A aplicação desenvolvida para este trabalho poderá enviar ou buscar
informações utilizando os serviços de um Web Service, implementado utilizando a
ferramenta Visual Studio.NET e a linguagem C#, o qual é o responsável por
realizar a conexão entre o banco de dados e a aplicação, promovendo uma
distribuição do processamento. Esta aplicação visa oferecer uma forma alternativa
para que os alunos que tenham participado do vestibular do CEULP-ULBRA
possam acessar o resultado através de um dispositivo móvel (SmartPhone). A
arquitetura desta aplicação pode ser visualizada resumidamente na Figura 15.
Figura 15 – Arquitetura da aplicação
8/18/2019 PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS COM A PLATAFORMA.NET.pdf
34/66
34
Para o armazenamento dos dados será utilizado o SGBD SQL Server que
se integra ao .NET Compact Framework (MICROSOFT, 2005). Para o acesso a
esses dados será usado um Web Service, que será o centralizador da regra de
consulta da aplicação. Para a interface com o usuário será criada uma aplicação
que roda no próprio celular. Para isso, será usado um emulador do dispositivo
móvel do tipo SmartPhone.
4.1 Banco de dados
Para a organização dos dados referentes ao candidato, curso e o resultado foram
utilizados quatro tabelas, com os campos necessários para a realização da
consulta ao resultado do vestibular, armazenadas em um banco de dados SQL
Server . O modelo de entidade relacionamento deste trabalho é apresentado na
Figura 16.
Figura 16 – Modelo entidade relacionamento
A tabela tblCandidato é responsável pelo armazenamento das
informações principais do candidato. A tabela tblCurso armazena as
informações sobre os cursos representados pelos campos idCurso,
8/18/2019 PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS COM A PLATAFORMA.NET.pdf
35/66
35
nomeCurso e periodo. Já a tabela tblResultado armazena informações
referentes ao resultado do vestibular, através dos campos idResultado,
idCandidato, nota, situacao. E, para o relacionamento entre as tabelas
tblCandidato e tblCurso, foi criada a tabela auxiliar
tblCandidato_Curso que utiliza-se como chaves estrangeiras os campos
idCurso e idCandidato. O acesso a este banco de dados será realizado
por um Web Service, o qual será apresentado na seção a seguir.
4.2 Criação do Web Service
Para o desenvolvimento do Web Service foi criada uma aplicação ASP.NET Web
Service, utilizando a linguagem C#, na qual foram criados os métodos da consulta
da classe Service, conforme ilustrado no diagrama da Figura 17.
Figura 17 – Classe e métodos do Web Service
O cliente que irá consumir os serviços do Web Service, deverá acessá-lo
através do caminho “http://localhost/WSSeguro/Service.asmx”, instalado na
máquina de origem do desenvolvimento. O Web Service criado possui dois
métodos de consulta:
• consultarCursos: método que retorna todos os cursos cadastrados no
banco de dados, informando apenas o idCurso.
8/18/2019 PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS COM A PLATAFORMA.NET.pdf
36/66
36
• consultarPorNome: método que retorna os nomes dos candidatos
aprovados ou suplentes do vestibular, onde a consulta é realizada através
do nome passado como parâmetro. Os resultados apresentados retornam
os valores do campo nomeCandidato da tabela tblCandidato em
forma de uma lista, onde será detalhada e apresentará a situação
(aprovado/suplente), retornando os valores do campo situacao da
tabela tblResultado.
• consultarPorNumero: método que retorna a nota, a situação
(aprovado/reprovado) e a classificação dos candidatos, em que a consulta
é realizada por meio do número de inscrição passado como parâmetro. A
consulta retorna os valores dos campos nota e situacao da tabela
tblResultado, além da sua classificação.
O método consultarPorNome é apresentado na Figura 18. O outro
método de consulta, consultarPorNumero, segue estrutura semelhante,
alterando-se somente a string para a consulta, pois o objetivo desse método é
que apenas os usuários que possuam o número de inscrição no vestibularpossam fazer uso desta funcionalidade. Já o método consultarCursos, é
responsável por preencher uma lista dos cursos presentes no formulário de
consulta por nome.
8/18/2019 PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS COM A PLATAFORMA.NET.pdf
37/66
37
Figura 18 – WebMethod consultarPorNome
A linha 1 especifica que o método trata-se de um WebMethod, cuja
descrição está explicitada. A linha 3 cria o objeto do tipo SqlConnection para
conexão com o banco de dados. A linha 6 abre a conexão com o banco. A linha
10 dispara uma exceção para a aplicação que está consumindo o Web Service. A
linha 12 cria o objeto do tipo SqlCommand configurando a SELECT que será
usada para retornar os dados do banco de dados criados por uma view . A linha
13 cria o objeto do tipo SqlDataAdapter que fará o preenchimento do
DataSet. A linha 14 cria o DataSet para retorno dos dados. A linha 15
preenche o DataSet com os dados do candidato. E, por fim, a linha 16 retorna
os dados para a aplicação consumidora.
A execução do Web Service é feita através do navegador de Internet, a
partir do arquivo Service.asmx, que representa as funcionalidades do Web
Service. O resultado é demonstrado na Figura 19.
1. [WebMethod(Description=”Retorna uma lista com os nomes doscandidatos, o curso e a sua situação (ap/sup))]
2. public DataSet consultarPorNome(string nomeCandidato, int idCurso){3. SqlConnection conn = new SqlConnection(STRING_DE_CONEXAO);
4. try5. {6. conn.Open();7. }8. catch (SqlException ex)9. {10. throw new Exception("Ocorreu um erro ao abrir o banco de
dados, a descrição do erro é" + ex.Message);11. }12. SqlCommand command = new SqlCommand("SELECT * from vwNome
where nomeCandidato like '" + nomeCandidato + "%' andidCurso= " + idCurso, conn);
13. SqlDataAdapter adap = new SqlDataAdapter(command);
14. DataSet dataset = new DataSet();15. adap.Fill(dataset, "Candidato");16. return dataset;17. }
8/18/2019 PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS COM A PLATAFORMA.NET.pdf
38/66
38
Figura 19 – Visualização do arquivo Service.asmx
Na Figura 19, nota-se os métodos de consulta que foram criados,
chamados consultarCursos, consultarPorNome e
consultarPorNumero. É possível acessá-los clicando sobre o link do método.
Após isso, uma nova janela é aberta onde irá requerer os valores passados como
parâmetro para a execução do método. A Figura 20 irá demonstrar esta janela
para inserção do valor para execução do método consultarPorNome.
8/18/2019 PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS COM A PLATAFORMA.NET.pdf
39/66
39
Figura 20 – Janela para inserção do parâmetro do método
consultarPorNome
Após a inserção dos valores, pode-se invocar o método clicando no botão
Invoke. O resultado da execução do método é retornado em XML, conforme
apresentado na Figura 21.
8/18/2019 PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS COM A PLATAFORMA.NET.pdf
40/66
40
Figura 21 – Resultado da execução do método consultarPorNome
A Figura 21 mostra o resultado da execução do método
consultarPorNome para a qual foram retornados os dados:
nomeCandidato e situacao, do curso especificado através do código de
identificação. Todos os métodos estão centralizados na classe Service.asmx,
cujo código completo está disponível na seção de anexos.
Visto o correto funcionamento do Web Service através do navegador de
Internet, a próxima seção apresentará a criação da aplicação que irá ser
executada no SmartPhone, assim como a sua conexão com o Web Service.
4.3 Desenvolvimento da aplicação para SmartPhone
A aplicação desenvolvida para rodar no SmartPhone consiste em três formulários:
o primeiro é o formulário inicial, frmInicial, ou seja, é a página principal que é
responsável pela escolha da consulta. O formulário frmNome, é responsável porexibir os nomes dos candidatos aprovados e/ou suplentes e o nome do curso; e o
8/18/2019 PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS COM A PLATAFORMA.NET.pdf
41/66
41
formulário frmNumero exibe a colocação do candidato, sua nota e sua situação
(aprovado, reprovado ou suplente), dado seu número de inscrição.
O frmInicial dispõe de um menu com as opções para a escolha do
tipo de consulta que o usuário deseja realizar e outro que encerra a execução,
conforme ilustrado na Figura 22.
Figura 22 – Tela da página inicial da aplicação
O menu “Opções” apresenta dois tipos de consulta (Nome ou Número) e,
após a escolha de uma das opções pelo usuário, outro formulário é apresentado.
A outra opção do menu refere-se a opção “Sair”, que tem a função de encerrar a
execução. Assim, o código desse formulário é formado basicamente pela
implementação das funções do menu.
Após o usuário definir o tipo de consulta, é invocado o método do Web
Service correspondente à solicitação, onde as informações são recuperadas do
banco de dados. Por exemplo, se a consulta for pelo nome, o método executado
será o consultarPorNome do Web Service, sendo que os dados retornados
8/18/2019 PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS COM A PLATAFORMA.NET.pdf
42/66
42
são carregados no ListView, disposto no formulário frmNome. O método que
implementa essa consulta é apresentado na Figura 23.
Figura 23 – Método de consulta por nome
A linha 4 mostra a criação do objeto que irá receber o Web Service. Nalinha 5, é executado o método do Web Service, consultarCursos. Na linha
10, é apresentado a execução do método do Web Service,
consultarPorNome, passando como parâmetro o valor do campo
nomeCandidato e a opção selecionada do curso, o resultado da execução é
armazenado em um objeto. Entre as linhas 12 e 17, o método do Web Service é
invocado e se o objeto contendo o resultado não for nulo, seus itens são
adicionados no ListView com os dados correspondentes as colunas.
Para o acesso ao Web Service foi criada uma variável chamada “Url”, na
classe “Reference.cs”, que recebe o caminho do Web Service, conforme
mostra a Figura 24. O código completo está disponível na seção de anexos,
Figura 24 – Código do caminho do Web Service
1. public frmNome()2. {3. InitializeComponent();4. objVestibular = new Vestibular.Service();5. DataSet ds = objVestibular.consultarCursos();6. cmbCurso.Items.Clear();...8. private void menuConsultar_Click_1(object sender, EventArgs e)9. {10. DataSet ds = objVestibular.consultarPorNome(txtNome.Text,
Convert.ToInt32(cmbCurso.SelectedValue));11. listView1.Items.Clear();
12. for (int i = 0; (i
8/18/2019 PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS COM A PLATAFORMA.NET.pdf
43/66
43
O resultado da consulta por nome é apresentado na tela do emulador,
conforme mostra a Figura 25.
Figura 25 – Tela do resultado da consulta por nome
Após o desenvolvimento deste trabalho, incluindo a criação do banco de
dados, a criação do Web Service e a própria aplicação para SmartPhone, bem
como o embasamento teórico para o seu desenvolvimento, serão apresentadas
no próximo capítulo as considerações finais obtidas a partir deste trabalho.
8/18/2019 PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS COM A PLATAFORMA.NET.pdf
44/66
44
5. CONSIDERAÇÕES FINAIS
A plataforma .NET oferece toda a tecnologia e as ferramentas necessárias para a
construção, implementação e manutenção de aplicações para dispositivos
móveis. A integração com o Visual Studio .NET garante aos desenvolvedores o
uso de recursos de expansibilidade para se iniciar o desenvolvimento dessas
aplicações, tais como templates, emuladores, controles, unificando todo o
ambiente de desenvolvimento em uma única ferramenta.
O Web Service surge como uma nova solução para a implementação de
aplicações acessadas via Internet, possibilitando que aplicativos de qualquer tipo,
que tenha acesso à Internet se conectem e interoperem entre si.
A computação móvel torna-se viável não somente para o segmento
empresarial, mas também para as pessoas de uma forma geral, permitindo
acesso aos dados e informações a qualquer hora e em qualquer lugar. Isso facilita
as tarefas particulares e é também uma oportunidade de melhora na gestão de
negócios, além de se promover uma forma alternativa para o atendimento ao
cliente, estabelecendo muitas opções de interatividade com o mesmo.
A partir deste estudo, verificou-se a viabilidade de desenvolver uma
aplicação para dispositivos móveis, em especial celulares (SmartPhones), osquais são bastante semelhante ao desenvolvimento de aplicações tradicionais
para desktop, a partir de uma aplicação de armazenamento, busca e acesso a
base de dados. Deve-se levar em consideração, no desenvolvimento da
aplicação, a facilidade que o usuário deverá ter em utilizar essa aplicação,
prevendo as ações tomadas pelo usuário, sempre criando formas de navegações
simples e diretas, levando em consideração os espaços reduzidos da tela.
8/18/2019 PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS COM A PLATAFORMA.NET.pdf
45/66
45
REFERÊNCIAS BIBLIOGRÁFICAS
(AVELINO, 2004) AVELINO, Jones. Consumindo um WebService através de
uma Aplicação ASP.NET para Dispositivos Móveis. 2004. Disponível em:
(BASIURA et al., 2003) BASIURA, Russ et al. Profissional ASP .NET Web
Service . São Paulo: Pearson Education, 2003.
(DEITEL E NIETO, 2004) DEITEL, H. M.; DEITEL, P. J.; NIETO, T. R.. Visual
Basic .NET: como programar. Tradução Célia Yumi Okano Taniwaki. São Paulo:
Pearson Education do Brasil, 2004. 1088 p.
(FUOCO, 2005) FUOCO, Taís. Padrão para dispositivos móveis. UNICAMP,
fevereiro de 2005. Disponível em: .
(GALVIN, 2004), GALVIN, Deleon. Protótipo de sistema CRM para dispositivos
móveis utilizando a tecnologia .NET. Trabalho de Conclusão de Curso
(Bacharelado em Ciências da Computação), Universidade Regional de Blumenal,Blumenal, 2004.
(GUIMARÃES, 2004) GUIMARÃES, Camila. As empresas detectam vantagens
no celular que é também computador. 2004. Disponível em:
8/18/2019 PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS COM A PLATAFORMA.NET.pdf
46/66
46
(GUMZ, 2005) GUMZ, Rafael Araújo. Protótipo de um sistema gerador de
interfaces gráficas para testes de Java Web Services. 2005. 98 f. Monografia
de Pós-Graduação (Pós-Graduação em Desenvolvimento de Aplicações para
WEB) - Centro de Ciências Exatas e Naturais, Universidade Regional de
Blumenau, Blumenau.
(MICROSOFT, 2005) Microsoft SQL Server. Outubro de 2005. Disponível em:
(MIRANDA, 2004) MIRANDA, Luiz Henrique. Introdução ao mundo móvel. Maio de 2004. Disponível em:
(MSDN, 2003) MSDN – Tecnologias: Mobilidade. Fevereiro, 2003a.
___________. .NET Framework. Fevereiro, 2003b.
___________. Microsoft .NET, apresentando C#. Novembro, 2003c.
___________. WAP: Arquitetura. Dezembro, 2003d. Disponível em:
(MUCHOW, 2004) MUCHOW, John W. Core J2ME: Tecnologia & MIDP.
Tradução: João Eduardo N. Tortello. São Paulo: Pearson Makron Books, 2004.
(NETTO, 2004) NETTO, Max Mosimann. Mobilidade e Dispositivos Móveis.
2004. Disponível em:
(NETTO, 2005) NETTO, Max Mosimann. Microsoft .NET Compact Framework -
Conheça a plataforma para dispositivos móveis criada pela Microsoft. Março
de 2005. Disponível em: < http://www.imasters.com.br/ >
8/18/2019 PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS COM A PLATAFORMA.NET.pdf
47/66
47
(PALM OS, 2005) Palm Software and Palm OS. Outubro de 2005. Disponível
em:
(PEKUS, 2002) PEKUS, Cons. e Desenvolvimento LTDA. Dispositivos Móveis.
2002. Disponível em:
(PEREZ, 2004) PEREZ, Rogério L. G.. Visão geral sobre WebServices . 2004.
Disponível em: < http://www.imasters.com.br/ >
(SYMBIAN, 2005) Symbian OS – the mobile operating system. Outubro de
2005. Disponível em:
(SOAP, 2003) SOAP Version 1.2 Part 0: Primer . Novembro de 2005. Disponível
em:
(SUN, 2005) Sun Microsystems. Outubro de 2005. Disponível em:
(TARIFA, 2004) TARIFA, Alexandre Fernandes Chaud. Desenvolvendo
aplicações para SmartPhones. Novembro de 2004. Disponível em:
(UNICAMP, 2005) Portal Unicamp. Outubro de 2005. Disponível em:
8/18/2019 PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS COM A PLATAFORMA.NET.pdf
48/66
48
ANEXO A
Código do Web Service criado – Service.asmx
8/18/2019 PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS COM A PLATAFORMA.NET.pdf
49/66
49
using System;
using System.Web;using System.Web.Services;using System.Web.Services.Protocols;using System.Data.SqlClient;using System.Data;
[WebService(Namespace = "http://tempuri.org/")][WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class Service : System.Web.Services.WebService{
public const string STRING_DE_CONEXAO =
"Server=KATIA;Database=smartphone;UserID=sa;Password=1234;Trusted_Connection=False" ;public Service () {
//Uncomment the following line if using designed components//InitializeComponent();
}
[WebMethod]public DataSet consultarPorNome(string nomeCandidato, int idCurso) {
//cria o objeto do tipo SqlConnection para conexão com o banco dedados
SqlConnection conn = new SqlConnection(STRING_DE_CONEXAO);
try{
//abre a conexão com o bancoconn.Open();
}catch (SqlException ex)
{//dispara uma exceção para a aplicação que está//consumindo o Web Servicethrow new Exception("Ocorreu um erro ao abrir o
banco de dados, a descrição do erro é" + ex.Message);}
//cria o objeto do tipo SqlCommand configurando aSELECT que será usada
//para retornar os dados do banco de dados criados poruma view
SqlCommand command = new SqlCommand("SELECT * from vwNomewhere nomeCandidato like '" + nomeCandidato + "%' and idCurso= " +idCurso, conn);
//cria o objeto do tipo SqlDataAdapter que fará opreenchimento do DataSet
SqlDataAdapter adap = new SqlDataAdapter(command);
//cria o DataSet para retorno dos dados
8/18/2019 PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS COM A PLATAFORMA.NET.pdf
50/66
50
DataSet dataset = new DataSet();
//preenche o DataSet com os dados do candidatoadap.Fill(dataset, "Candidato");
//retorna os dados para a aplicação consumidorareturn dataset;
}[WebMethod]public DataSet consultarPorNumero(string idCandidato){
//cria o objeto do tipo SqlConnection para conexão com o banco dedados
SqlConnection conn = new SqlConnection(STRING_DE_CONEXAO);
try{
//abre a conexão com o bancoconn.Open();}catch (SqlException ex){
//dispara uma exceção para a aplicação que está//consumindo o Web Servicethrow new Exception("Ocorreu um erro ao abrir o banco de
dados, a descrição do erro é" + ex.Message);}
//cria o objeto do tipo SqlCommand configurando a SELECT que seráusada
//para retornar os dados do banco de dadosSqlCommand command = new SqlCommand("SELECT * FROM[smartphone].[dbo].[fn_GetPosicao](" +idCandidato+") where idCandidato='" + idCandidato + "'", conn);
//cria o objeto do tipo SqlDataAdapter que fará o preenchimentodo DataSet
SqlDataAdapter adap = new SqlDataAdapter(command);
//cria o DataSet para retorno dos dadosDataSet dataset = new DataSet();
//preenche o DataSet com os dados do candidato
adap.Fill(dataset, "Candidato");
//retorna os dados para a aplicação consumidorareturn dataset;
}[WebMethod]public DataSet consultarCursos(){
//cria o objeto do tipo SqlConnection para conexão com o banco dedados
SqlConnection conn = new SqlConnection(STRING_DE_CONEXAO);
try{
//abre a conexão com o banco
8/18/2019 PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS COM A PLATAFORMA.NET.pdf
51/66
51
conn.Open();}catch (SqlException ex){
//dispara uma exceção para a aplicação que está
//consumindo o Web Servicethrow new Exception("Ocorreu um erro ao abrir o banco de
dados, a descrição do erro é" + ex.Message);}
//cria o objeto do tipo SqlCommand configurando a SELECT que seráusada
//para retornar os dados do banco de dados criados por uma view
SqlCommand command = new SqlCommand("SELECT * from tblCurso orderby nomeCurso", conn);
//cria o objeto do tipo SqlDataAdapter que fará o preenchimento
do DataSetSqlDataAdapter adap = new SqlDataAdapter(command);
//cria o DataSet para retorno dos dadosDataSet dataset = new DataSet();
//preenche o DataSet com os dados do candidatoadap.Fill(dataset, "Curso");
//retorna os dados para a aplicação consumidorareturn dataset;
}
}
8/18/2019 PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS COM A PLATAFORMA.NET.pdf
52/66
8/18/2019 PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS COM A PLATAFORMA.NET.pdf
53/66
53
frmInicial.cs:
#region Using directives
using System;using System.Drawing;using System.Collections;using System.Windows.Forms;using System.Data;
#endregion
namespace sPhone{
/// /// Summary description for form.///
public class frmInicial : System.Windows.Forms.Form{
private PictureBox pictureBox1;protected internal PictureBox pictureBox2;private MenuItem menuSair;private MenuItem menuItem2;private MenuItem menuNome;private MenuItem menuNumero;/// /// Main menu for the form./// private System.Windows.Forms.MainMenu mainMenu1;
public frmInicial(){
InitializeComponent();}
/// /// Clean up any resources being used./// protected override void Dispose(bool disposing){
base.Dispose(disposing);}
#region Windows Form Designer generated code/// /// Required method for Designer support - do not modify/// the contents of this method with the code editor./// private void InitializeComponent(){
System.ComponentModel.ComponentResourceManager resources =new System.ComponentModel.ComponentResourceManager(typeof(frmInicial));
this.mainMenu1 = new System.Windows.Forms.MainMenu();this.menuSair = new System.Windows.Forms.MenuItem();this.menuItem2 = new System.Windows.Forms.MenuItem();
this.menuNome = new System.Windows.Forms.MenuItem();this.menuNumero = new System.Windows.Forms.MenuItem();
8/18/2019 PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS COM A PLATAFORMA.NET.pdf
54/66
54
this.pictureBox1 = new System.Windows.Forms.PictureBox();this.pictureBox2 = new System.Windows.Forms.PictureBox();//// mainMenu1//
this.mainMenu1.MenuItems.Add(this.menuSair);this.mainMenu1.MenuItems.Add(this.menuItem2);//// menuSair//this.menuSair.Text = "Sair";this.menuSair.Click += new
System.EventHandler(this.menuSair_Click);//// menuItem2//this.menuItem2.MenuItems.Add(this.menuNome);this.menuItem2.MenuItems.Add(this.menuNumero);
this.menuItem2.Text = "Opções";//// menuNome//this.menuNome.Text = "Consulta Nome";this.menuNome.Click += new
System.EventHandler(this.menuNome_Click_1);//// menuNumero//this.menuNumero.Text = "Consulta Número";this.menuNumero.Click += new
System.EventHandler(this.menuNumero_Click_1);
//// pictureBox1//this.pictureBox1.Location = new System.Drawing.Point(0, 0);this.pictureBox1.Size = new System.Drawing.Size(100, 100);//// pictureBox2//this.pictureBox2.Image =
((System.Drawing.Image)(resources.GetObject("pictureBox2.Image")));this.pictureBox2.Location = new System.Drawing.Point(49, 42);this.pictureBox2.Size = new System.Drawing.Size(76, 78);//
// frmInicial//this.ClientSize = new System.Drawing.Size(176, 180);this.Controls.Add(this.pictureBox2);this.Menu = this.mainMenu1;this.Text = "Resultado Vestibular";
}
#endregion
/// /// The main entry point for the application./// static void Main(){
8/18/2019 PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS COM A PLATAFORMA.NET.pdf
55/66
55
Application.Run(new frmInicial());}
private void menuSair_Click(object sender, EventArgs e){
this.Close();}
private void menuNome_Click_1(object sender, EventArgs e){
// Instancia um objeto do tipo frmNomefrmNome frmNovo = new frmNome();// Chama o formulário instanciadofrmNovo.ShowDialog();
}
private void menuNumero_Click_1(object sender, EventArgs e){
// Instancia um objeto do tipo frmNumerofrmNumero frmNovo = new frmNumero();// Chama o formulário instanciadofrmNovo.ShowDialog();
}
}}
8/18/2019 PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS COM A PLATAFORMA.NET.pdf
56/66
56
frmNome.cs:
#region Using directives
using System;using System.Drawing;using System.Collections;using System.Windows.Forms;using System.Data;
#endregion
namespace sPhone{
/// /// Summary description for Nome./// public class frmNome : System.Windows.Forms.Form{
private Label label1;private TextBox txtNome;private MenuItem menuVoltar;private MenuItem menuConsultar;private Vestibular.Service objVestibular;private Label label2;private ComboBox cmbCurso;private ListView listView1;/// /// Main menu for the form./// private System.Windows.Forms.MainMenu mainMenu1;
public frmNome(){
InitializeComponent();objVestibular = new Vestibular.Service();
DataSet ds = objVestibular.consultarCursos();
cmbCurso.Items.Clear();
for (int i = 0; (i
8/18/2019 PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS COM A PLATAFORMA.NET.pdf
57/66
8/18/2019 PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS COM A PLATAFORMA.NET.pdf
58/66
58
this.label2.Location = new System.Drawing.Point(0, 47);this.label2.Size = new System.Drawing.Size(173, 21);this.label2.Text = "Selecione o Curso:";this.label2.ParentChanged += new
System.EventHandler(this.label2_ParentChanged);
//// cmbCurso//this.cmbCurso.Font = new System.Drawing.Font("Nina", 10F,
System.Drawing.FontStyle.Regular);this.cmbCurso.Location = new System.Drawing.Point(0, 71);this.cmbCurso.Size = new System.Drawing.Size(173, 23);this.cmbCurso.SelectedIndexChanged += new
System.EventHandler(this.cmbCurso_SelectedIndexChanged);//// frmNome//this.ClientSize = new System.Drawing.Size(176, 180);
this.Controls.Add(this.label1);this.Controls.Add(this.txtNome);this.Controls.Add(this.label2);this.Controls.Add(this.cmbCurso);this.Controls.Add(this.listView1);this.Menu = this.mainMenu1;this.Text = "Consulta Nome";
}
#endregion
private void menuConsultar_Click_1(object sender, EventArgs e)
{ DataSet ds = objVestibular.consultarPorNome(txtNome.Text,Convert.ToInt32(cmbCurso.SelectedValue));
listView1.Items.Clear();for (int i = 0; (i
8/18/2019 PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS COM A PLATAFORMA.NET.pdf
59/66
59
frmNumero.cs:
#region Using directives
using System;using System.Drawing;using System.Collections;using System.Windows.Forms;using System.Data;
#endregion
namespace sPhone{
/// /// Summary description for frmNumero./// public class frmNumero : System.Windows.Forms.Form{
private MenuItem menuVoltar;private MenuItem menuConsultar;private TextBox txtNumero;private Label label1;private Label label2;private TextBox txtSituacao;private Label label3;private Label label4;private TextBox txtNota;private TextBox txtClassificacao;private Vestibular.Service objVestibular;/// /// Main menu for the form./// private System.Windows.Forms.MainMenu mainMenu1;
public frmNumero(){
InitializeComponent();objVestibular = new Vestibular.Service();
}
/// /// Clean up any resources being used.
/// protected override void Dispose(bool disposing){
base.Dispose(disposing);}
#region Windows Form Designer generated code
/// /// Required method for Designer support - do not modify/// the contents of this method with the code editor./// private void InitializeComponent()
{this.mainMenu1 = new System.Windows.Forms.MainMenu();
8/18/2019 PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS COM A PLATAFORMA.NET.pdf
60/66
60
this.menuVoltar = new System.Windows.Forms.MenuItem();this.menuConsultar = new System.Windows.Forms.MenuItem();this.txtNumero = new System.Windows.Forms.TextBox();this.label1 = new System.Windows.Forms.Label();this.label2 = new System.Windows.Forms.Label();
this.txtSituacao = new System.Windows.Forms.TextBox();this.label3 = new System.Windows.Forms.Label();this.label4 = new System.Windows.Forms.Label();this.txtNota = new System.Windows.Forms.TextBox();this.txtClassificacao = new System.Windows.Forms.TextBox();//// mainMenu1//this.mainMenu1.MenuItems.Add(this.menuVoltar);this.mainMenu1.MenuItems.Add(this.menuConsultar);//// menuVoltar//
this.menuVoltar.Text = "Voltar";this.menuVoltar.Click += new System.EventHandler(this.menuVoltar_Click);
//// menuConsultar//this.menuConsultar.Text = "Consultar";this.menuConsultar.Click += new
System.EventHandler(this.menuConsultar_Click);//// txtNumero//this.txtNumero.Location = new System.Drawing.Point(3, 25);
this.txtNumero.Size = new System.Drawing.Size(170, 24);//// label1//this.label1.Font = new System.Drawing.Font("Nina", 10F,
System.Drawing.FontStyle.Bold);this.label1.Location = new System.Drawing.Point(3, 0);this.label1.Size = new System.Drawing.Size(73, 22);this.label1.Text = "Número:";//// label2//this.label2.Font = new System.Drawing.Font("Nina", 10F,
System.Drawing.FontStyle.Bold);this.label2.Location = new System.Drawing.Point(4, 56);this.label2.Size = new System.Drawing.Size(62, 22);this.label2.Text = "Situação:";//// txtSituacao//this.txtSituacao.Font = new System.Drawing.Font("Nina", 10F,
System.Drawing.FontStyle.Regular);this.txtSituacao.Location = new System.Drawing.Point(107,
53);this.txtSituacao.Size = new System.Drawing.Size(66, 23);//// label3//
8/18/2019 PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS COM A PLATAFORMA.NET.pdf
61/66
61
this.label3.Font = new System.Drawing.Font("Nina", 10F,System.Drawing.FontStyle.Bold);
this.label3.Location = new System.Drawing.Point(3, 85);this.label3.Size = new System.Drawing.Size(63, 17);this.label3.Text = "Nota:";
//// label4//this.label4.Font = new System.Drawing.Font("Nina", 10F,
System.Drawing.FontStyle.Bold);this.label4.Location = new System.Drawing.Point(3, 115);this.label4.Size = new System.Drawing.Size(87, 17);this.label4.Text = "Classificação:";//// txtNota//this.txtNota.Font = new System.Drawing.Font("Nina", 10F,
System.Drawing.FontStyle.Regular);
this.txtNota.Location = new System.Drawing.Point(107, 85);this.txtNota.Size = new System.Drawing.Size(66, 23);//// txtClassificacao//this.txtClassificacao.Font = new System.Drawing.Font("Nina",
10F, System.Drawing.FontStyle.Regular);this.txtClassificacao.Location = new
System.Drawing.Point(107, 116);this.txtClassificacao.Size = new System.Drawing.Size(66, 23);//// frmNumero//
this.ClientSize = new System.Drawing.Size(176, 180);this.Controls.Add(this.label1);this.Controls.Add(this.txtNumero);this.Controls.Add(this.label2);this.Controls.Add(this.txtSituacao);this.Controls.Add(this.label3);this.Controls.Add(this.label4);this.Controls.Add(this.txtNota);this.Controls.Add(this.txtClassificacao);this.Menu = this.mainMenu1;this.Text = "Consulta Número";
}
#endregion
private void menuVoltar_Click(object sender, EventArgs e){
// Instancia um objeto do tipo frmInicialfrmInicial frmNovo = new frmInicial();// Chama o formulário instanciadofrmNovo.ShowDialog();
}
private void menuConsultar_Click(object sender, EventArgs e){
DataSet ds =objVestibular.consultarPorNumero(txtNumero.Text);
8/18/2019 PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS COM A PLATAFORMA.NET.pdf
62/66
62
for (int i = 0; (i
8/18/2019 PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS COM A PLATAFORMA.NET.pdf
63/66
63
ANEXO C
Classe gerada para referenciar o Web Service com a aplicação
Reference.cs
8/18/2019 PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS COM A PLATAFORMA.NET.pdf
64/66
64
Reference.cs:
//-----------------------------------------------------------------------
-------// // This code was generated by a tool.// Runtime Version:2.0.50727.42//// Changes to this file may cause incorrect behavior and will be lostif// the code is regenerated.// //------------------------------------------------------------------------------
//// This source code was auto-generated byMicrosoft.CompactFramework.Design.Data, Version 2.0.50727.42.//namespace sPhone.Vestibular {
using System.Diagnostics;using System.Web.Services;using System.ComponentModel;using System.Web.Services.Protocols;using System;using System.Xml.Serialization;using System.Data;
/// [System.Diagnostics.DebuggerStepThroughAttribute()][System.ComponentModel.DesignerCategoryAttribute("code")][System.Web.Services.WebServiceBindingAttribute(Name="ServiceSoap",
Namespace="http://tempuri.org/")]public class Service :
System.Web.Services.Protocols.SoapHttpClientProtocol {
/// public Service() {
this.Url = "http://localhost/WSSeguro/Service.asmx" ;}
///
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/consultarPorNome", RequestNamespace="http://tempuri.org/",ResponseNamespace="http://tempuri.org/",Use=System.Web.Services.Description. SoapBindingUse.Literal,ParameterStyle=System.Web.Services.Protocols. SoapParameterStyle.Wrapped)]
public System.Data.DataSet consultarPorNome(string nomeCandidato,int idCurso) {
object[] results = this.Invoke("consultarPorNome", new object[] {
nomeCandidato,idCurso});
return ((System.Data.DataSet)(results[0]));
}
8/18/2019 PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS COM A PLATAFORMA.NET.pdf
65/66
65
/// public System.IAsyncResult BeginconsultarPorNome(string
nomeCandidato, int idCurso, System.AsyncCallback callback, object asyncState) {
return this.BeginInvoke("consultarPorNome", new object[] {
nomeCandidato,idCurso}, callback, asyncState);
}
/// public System.Data.DataSet
EndconsultarPorNome(System.IAsyncResult asyncResult) {object[] results = this.EndInvoke(asyncResult);return ((System.Data.DataSet)(results[0]));
}
///
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/consultarPorNumero", RequestNamespace="http://tempuri.org/",ResponseNamespace="http://tempuri.org/",Use=System.Web.Services.Description. SoapBindingUse.Literal,ParameterStyle=System.Web.Services.Protocols. SoapParameterStyle.Wrapped)]
public System.Data.DataSet consultarPorNumero(string idCandidato){
object[] results = this.Invoke("consultarPorNumero", new object[] {
idCandidato});return ((System.Data.DataSet)(results[0]));
}
/// public System.IAsyncResult BeginconsultarPorNumero(string idCandidato, System.AsyncCallback callback, object asyncState) {
return this.BeginInvoke("consultarPorNumero", new object[] {idCandidato}, callback, asyncState);
}
/// public System.Data.DataSet
EndconsultarPorNumero(System.IAsyncResult asyncResult) {object[] results = this.EndInvoke(asyncResult);return ((System.Data.DataSet)(results[0]));
}
///
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/consultarCursos", RequestNamespace="http://tempuri.org/",ResponseNamespace="http://tempuri.org
Top Related