Upload
vankhanh
View
214
Download
2
Embed Size (px)
Citation preview
�������������� ������������������� ����������
������������ ������������� ������� ���� !"#
����������������������� ����������������������� �� ������������������������������������������ ������!�"#$%���#!&'&#!!(%���)� ��������� ���������*����������+���% � ���� ����� ��������% ���� �,�� ,�� � �� � �-����% � �.����% �����/���0����������%�� �����1���������+�23�%����������%�����������
�������4�� ������1�4�����,������� ������������ ���5��������,������������������������ ��6�����4����)���������� �7������������ ������ �7���������������,������8�����������
5*���� ������� ������������ ����� � �� � ������ � �� � ����� � ���� � �� � ,���� � � � � ���� � ��� � �� � � � ��/�� �� � ,� � ������ � ��� � ������ � ��9� ���23�% � �� � ����� � � ��� �� � �� � ������� � ��� � � ��% � � � ���� � �� ��� � ������ �+����������� �������������/������������%� �:�/�����9� �������������������������������%�� ����23������/������������������������ �+�23���;�� ,���� )��2�� ��� ����0������������� ������*� ����������8�����
������� �!"#�$����
�$�%&�%'�����() ���)*��&���+���,'$-%��.��� ����������������� �+ ��/0��--��1������������� ��$������
�������������� ������������������� ���������
������7�����<����������8����������������%�'$#=�
#����/�� *�����>���� �
�6?�<�!@(A(BAC!!A$B==A@�������������������������������������������������������������$$#�"='��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
���������%�����������!���&�&���������������'()*����+���������,������'�,*-��������./&01/231/ ���4.35../32))).6��7�4.35../32)80)�2���!�!��9!��&�"�&-�:::&!��&�"�&-�/)63(
Aos meus pais, Maria Creyde e Manoel, que sempre
acreditaram no “poder” da educação e dos livros.
À minha esposa Claudia e à minha filha
Franciele que são a razão do meu viver.
À Ângela e Benedito, dois grandes
amigos que a vida me presenteou.
(Cláudio Oliveira)
Aos meus pais, Oraida (in memorian) e Angelo Petroni
pelo exemplo e dignidade passados para os filhos.
À Érica, minha esposa e companheira e aos nossos corações que batem fora
de nosso peito: Ana Julia Petroni e Angelo Petroni Neto - o princípio de tudo.
Ao Prof.Cláudio, pelo exemplo de profissional, amigo e conselheiro.
À Profª Ângela por todo companheirismo de trabalho.
(Benedito Petroni)
Agradeço especialmente ao Cláudio, dentre tantas outras coisas,
por me incentivar e proporcionar tantas oportunidades.
Também agradeço à minha mãe,
Profª Nilce Bortoloti, por ter me mostrado com suas
ações a importância da educação e da dedicação.
Ao Benedito por compartilhar de mais esta obra.
E ao Cássio, meu marido, por viver ao meu lado a
mais empolgante das aventuras, que é a vida!
(Ângela Lühmann)
Sobre os Autores
Cláudio Luís Vieira OliveiraMestre em Sistemas de Computação pela Pontifícia Universidade Católica
de Campinas (2005) e graduado em Análise de Sistemas pela Universida-
de Metodista de Piracicaba (1990). Apresenta larga experiência na área de
Ciência da Computação, com ênfase em Sistemas de Computação, atuando
principalmente nos seguintes temas: sistemas de bancos de dados, linguagens
de programação Java, C++, C#, programação para a web (HTML, XML, ASP,
PHP, JSP e Servlets), plataforma .NET, desenvolvimento de aplicações para
dispositivos móveis, redes de computadores, sistemas distribuídos, arquitetura
orientada a serviços, agentes inteligentes, redes neurais artificiais e sistemas tu-
tores inteligentes. Coordenador de Curso e Docente da Faculdade de Tecno-
logia de Jundiaí (FATEC), Docente na Faculdade de Tecnologia de Bragança
Paulista (FATEC) e na Faculdade Anhanguera de Jundiaí (FAJ).
Benedito Cristiano Aparecido Petroni Mestre em Sistemas de Computação pela Pontifícia Universidade Católica
de Campinas (2006), Pós Graduado em Design e Aplicações para Internet
pela Universidade São Francisco Itatiba (2001), e Graduado em Análise de
Sistemas pela Universidade São Francisco - Itatiba (1998). Possui ampla ex-
periência na área de Ciência da Computação, com ênfase em desenvolvimento
de sistemas em Instituições de Ensino Superior, plataformas para Ensino à
Distância (EAD). Pesquisa a área de Sistemas Inteligentes através da técni-
ca de Inteligência Artificial, Agentes Inteligentes (AI) e Interação Humano
Computador (IHC). Atualmente, desenvolve conteúdos para assessoramento
e treinamento de ferramentas para análise e desenvolvimento de sistemas. Do-
cente da Faculdade de Tecnologia de Jundiaí e Bragança Paulista (FATEC),
Universidade Paulista (UNIP).
VI � Desenvolvimento de Aplicativos para Windows Phone
Ângela Cristina de Oliveira LühmannMestre em Ciência da Computação pela Universidade Estadual de Cam-
pinas (2003) e graduada em Análise de Sistemas pela Universidade São Fran-
cisco (1997). Possui ampla experiência profissional atuando como Analista de
Sistemas, principalmente em Análise e Projeto de Sistemas, também em im-
plantação e suporte de Sistemas Integrados de Gestão Empresarial. Atuou na
Faculdade Anhanguera de Jundiaí como Coordenadora Pedagógica dos cur-
sos de Ciência da Computação e Tecnologia em Análise e Desenvolvimento
de Sistemas. Nessa mesma Instituição de Ensino Superior foi professora dos
cursos de Ciência da Computação, Engenharia da Computação, Sistemas de
Informação e Tecnologia em Análise e Desenvolvimento de Sistemas. Atual-
mente é professora da Faculdade de Tecnologia de Jundiaí. Áreas de Pesquisa:
Sistemas de Informação e Engenharia de Software com ênfase em Análise e
Projeto de Sistemas, Testes de Software e Interação Humano-Computador.
Introdução ................................................................................ 1Requisitos de Software e Hardware ............................................ 1Microsoft Visual Studio ............................................................ 2Projetos .................................................................................... 3Tipos de Dados ......................................................................... 8Classes para Tipos de Dados ...................................................... 9Objetos para a Interface com o Usuário .....................................10Sintaxe do C# ...........................................................................15Exercícios ................................................................................16O método ToString ..................................................................16Introdução a Orientação a Objetos ...........................................20Exercícios ................................................................................27Criando e Utilizando uma Classe ..............................................27Exercícios ................................................................................33Orientação a Objetos: Polimorfismo e Herança .........................33Exercícios ................................................................................38Navegação entre Páginas ..........................................................39Botões de Rádio .......................................................................42Exercícios ................................................................................44Botões de Verificação ................................................................45Exercícios ................................................................................49Gerenciamento do Layout ........................................................49Imagens ...................................................................................57Barras de Rolagem ...................................................................59Mapas .....................................................................................60Vinculação de Dados ................................................................68Vinculação de Controles ...........................................................70Controles Panorama e Pivot .....................................................71ListBox ....................................................................................79Exercícios ................................................................................91Armazenamento de Dados ........................................................92
Sumário
VIII � Desenvolvimento de Aplicativos para Windows Phone
Armazenamento de Dados com Settings ...................................92Armazenamento de Dados em Arquivos ..................................101Armazenamento em Banco de Dados Relacional .....................112Acesso às Funções do Aparelho ...............................................120Envio de SMS (Short Message Service) ...................................120Efetuar Ligações ....................................................................126Acesso a Câmera ....................................................................129Serviços em Rede ...................................................................132Acesso Através da Classe WebClient .......................................132Manipulação de Dados em XML .............................................136Acesso Através da Classe HttpWebRequest .............................139
Introdução
O Windows Phone oferece um conjunto de soluções que facilita o desen-
volvimento de aplicativos para a plataforma. Fundamentado sobre o conceito
de desenvolvimento da interface sobre um padrão XML, no caso, o Microsoft
Silverlight, e utilizando a linguagem de programação C#.
A linguagem de programação C#, atualmente, é amplamente utilizada para
o desenvolvimento dos mais diversos tipos de aplicações. A seguir, citaremos
algumas de suas principais características:
Orientação a Objetos: Um programa escrito em C# é organizado em clas-
ses. Cada classe define um conjunto de métodos, e a partir desses métodos
pode-se formar o comportamento de um objeto. Uma classe pode herdar com-
portamentos de outra classe. Com exceção de tipos simples, como números e
variáveis booleanas, a maior parte das coisas em Java é objeto.
Tipos de Dados Estáticos: Na linguagem de programação C# todo objeto
deve ser definido antes de ser utilizado.
Diversidade de Tipos de Aplicações: Dentro da plataforma .Net, em C#,
é possível a criação de aplicações console (modo texto), gráficas (Windows
Forms), para a Internet (ASP.Net), para smartphones que utilizam o sistema
operacional Windows Phone e também para o console de jogos Xbox 360.
Requisitos de Software e Hardware
Para o desenvolvimento dos exemplos desta obra, o leitor deverá instalar a
versão atual do Visual Studio Express for Windows Phone, disponível gra-
tuitamente em http://dev.windowsphone.com.
2 � Desenvolvimento de Aplicativos para Windows Phone
Microsoft Visual Studio
O Microsoft Visual Studio é um IDE, do inglês Integrated Development
Environment ou Ambiente Integrado de Desenvolvimento, que reúne caracte-
rísticas e ferramentas de apoio ao desenvolvimento de programas.
Oferece suporte ao RAD (de Rapid Application Development ou “ De-
senvolvimento Rápido de Aplicações”) visando uma maior produtividade no
desenvolvimento de aplicações.
Cláudio Oliveira Benedito Petroni Ângela Lühmann ��3
Projetos
A base de funcionamento do Visual Studio é o conceito de projeto. Um
Projeto (Project) pode ser entendido como um grupo de classes, formulários e
recursos diversos, como arquivos de imagens e sons entre outros, necessários à
criação de um programa.
Desta forma, após abrir o Visual Studio, a primeira etapa na construção de
um aplicativo para Windows Phone consiste em realizar a criação de um pro-
jeto. Para isso, escolha no menu principal a opção File e depois New Project:
4 � Desenvolvimento de Aplicativos para Windows Phone
Nosso primeiro exemplo, que será criado com o intuito de ilustrar o funcio-
namento básico do Visual Studio, consiste em uma “Windows Phone Appli-
cation” e será chamada de “Ola”. Em seguida, selecione a plataforma desejada:
O Visual Studio irá exibir a aplicação criada. Conforme ilustrado na figura
a seguir, à esquerda podemos observar como a mesma será exibida na tela de
um smartphone com Windows Phone.A parte central consiste no código fon-
te da página principal em Silverlight for Windows Phone. À direita temos a
Solution Explorer e a Properties.
Cláudio Oliveira Benedito Petroni Ângela Lühmann ��5
Quando trabalhamos com o Silverlight for Windows Phone, a base de
qualquer aplicativo são as páginas XAML (eXtensible Application Markup
Language), que consiste uma uma linguagem fundamentada sobre XML (eX-
tensible Markup Language) e permite a especificação do layout e dos compo-
nentes da página.
Quando criamos uma página, a estrutura básica já é apresentada. Desta
forma, identifique no código fonte da aplicação o seguinte trecho:
<!--LayoutRoot is the root grid where all page content is placed-->
<Grid x:Name=”LayoutRoot” Background=”Transparent”>
���������� ��������
������� �������� ������������
������� �������� ����������
����������� ��������
<!--TitlePanel contains the name of the application and page
title-->
<StackPanel x:Name=”TitlePanel”
Grid.Row=”0” Margin=”12,17,0,28”>
6 � Desenvolvimento de Aplicativos para Windows Phone
������ ����"#��$%&' ���((��"&������� ��
� ����)*��++/34��35%��
6�9� ��;6�&��" ���" �+�� � ��%�'&�6�9� ?���
<TextBlock x:Name=”PageTitle” Text=”page
name” Margin=”9,-7,0,0”
6�9� ��;6�&��" ���" �+�� � ������ A6�9� ?���
����6�&"#+&� ��
���CDD4�� ��+&� ��D�(�&" �&������&��"�� ���� � DD�
���������$%&' ��4�� ��+&� �����������A��)&������AEFHFAEFH����
Grid>
�������
Esse código representa a definição dos gerenciadores de layout que serão
adotados, este exemplo, Grid e StackPanel. A área reservada para o título da
aplicação e para o título da página utilizará o elemento TextBlock, a qual permite
a exibição de texto estático na página. Altere a propriedade Text do TextBlock
chamada ApplicationTitle para “EXEMPLO DE APLICATIVO” e, em segui-
da, modifique a propriedade Text do TexBlock chamada PageName para “olá”.
Após concluir as alterações no programa, grave as alterações realizadas. O
passo seguinte consiste em compilar a solução. Para isso, podemos utilizar a
opção do menu Build e depois Build Solution, também podemos utilizar a
tecla de atalho F6 para realizar o mesmo processo.
Após finalizar a construção da aplicação é importante observar na parte
inferior da IDE se ocorreram erros ou avisos.
Cláudio Oliveira Benedito Petroni Ângela Lühmann ��7
Quando a compilação não apresentar erros, a mesma poderá ser executada
através do menu Debug utilizando os itens Start Debugging (F5). O emula-
dor será iniciado e o resultado da execução do programa deverá ser similar ao
ilustrado pela figura a seguir.
Vamos adicionar um novo TextBlock ao ContentPanel, conforme mostra-
do abaixo.
�CDD4�� ��+&� ��D�(�&" �&������&��"�� ���� � DD�
�������$%&' ��4�� ��+&� �����������A��)&������AEFHFAEFH��
���� ����"#�� ����� 'DI�������
�������
Na figura a seguir podemos visualizar a execução do aplicativo na tela do
emulador, sendo importante observar que todo novo objeto da página deve ser
colocado dentro do ContentPanel para que seja exibido.
8 � Desenvolvimento de Aplicativos para Windows Phone
Tipos de Dados
No desenvolvimento do próximo exemplo vamos incluir também a pro-
gramação em C#. Desta forma, inicialmente, vamos revisar alguns conceitos
básicos da linguagem.
Uma variável, atributo ou até mesmo o valor de retorno de um método,
deve ser previamente declarado devendo apresentar um tipo de dado. Abaixo
são apresentados os principais tipos de dados definidos pela linguagem C#:
Tipos de Dados
Descrição Valores
booleanUm bit contendo o valor verdadeiro (true) ou falso (false) true ou false
char Caractere de 16 bits U+0000 a U+ffff
int Valor inteiro com sinal de 32 bits-2.147.483.648 a 2.147.483.647
float Valor numérico com precisão decimal de 32 bits ±1.5 × 10−45 a ±3.4 × 1038
double Valor numérico com precisão decimal de 64 bits ±5.0 × 10−324 a ±1.7 × 10308
string Representa uma cadeia de caracteres Unicode -
Cláudio Oliveira Benedito Petroni Ângela Lühmann ��9
Desta forma, a declaração de uma variável deve apresentar o seu tipo de
dado, o nome que a variável terá e, opcionalmente, o seu valor inicial. Por
exemplo, para declararmos uma variável inteira que possua o nome “x” teremos
a seguinte sintaxe:
int x;
Caso seja necessário atribuir um valor inicial, podemos realizar a declaração
da seguinte maneira:
int x = 10;
Classes para Tipos de Dados
Além dos tipos de dados suportados pela linguagem, também existem clas-
ses que permitem a implementação de objetos que representam tipos de dados.
A vantagem da utilização dessas classes consiste na possibilidade de utili-
zar métodos que permitirão conversões, comparações e verificações aos valores
armazenados nos objetos.
Classe Objetivo
String Cadeia de caracteres
Float Definir um objeto para o tipo de dado float
Double Definir um objeto para o tipo de dado double
DateTime Definir um objeto que permite armazenar data e/ou hora
Por exemplo, para declararmos um objeto que irá armazenar o nome de
uma pessoa devemos declará-lo da seguinte maneira:
10 � Desenvolvimento de Aplicativos para Windows Phone
String nome = “Maria”;
Ou também poderia ser declarado assim:
Double preco = new Double();
Objetos para a Interface com o Usuário
Com base nestes primeiros conceitos, iremos desenvolver um aplicativo
que, a partir do ano de nascimento fornecido pelo usuário, realize o cálculo
da idade do mesmo. Para isso vamos criar um novo projeto com o nome de
“Idade”, por exemplo:
Em seguida, vamos ajustar os títulos da aplicação e da página que estão
dentro do TitlePanel.