Top Banner
Desenvolvimento de Aplicativos para Windows Phone Cláudio Oliveira Benedito Petroni Ângela Lühmann
18

Desenvolvimento de Aplicativos para Windows Phonerakuten.livrariacultura.com.br/imagem/capitulo/42665334.pdf · PHP, JSP e Servlets), plataforma .NET, desenvolvimento de aplicações

Nov 30, 2018

Download

Documents

phungkhanh
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Desenvolvimento de Aplicativos para Windows Phonerakuten.livrariacultura.com.br/imagem/capitulo/42665334.pdf · PHP, JSP e Servlets), plataforma .NET, desenvolvimento de aplicações

Desenvolvimento de Aplicativos para Windows Phone

Cláudio OliveiraBenedito PetroniÂngela Lühmann

Page 2: Desenvolvimento de Aplicativos para Windows Phonerakuten.livrariacultura.com.br/imagem/capitulo/42665334.pdf · PHP, JSP e Servlets), plataforma .NET, desenvolvimento de aplicações

�������������� ������������������� ����������

������������ ������������� ������� ���� !"#

����������������������� ����������������������� �� ������������������������������������������ ������!�"#$%���#!&'&#!!(%���)� ��������� ���������*����������+���% � ���� ����� ��������% ���� �,�� ,�� � �� � �-����% � �.����% �����/���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(

Page 3: Desenvolvimento de Aplicativos para Windows Phonerakuten.livrariacultura.com.br/imagem/capitulo/42665334.pdf · PHP, JSP e Servlets), plataforma .NET, desenvolvimento de aplicações

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)

Page 4: Desenvolvimento de Aplicativos para Windows Phonerakuten.livrariacultura.com.br/imagem/capitulo/42665334.pdf · PHP, JSP e Servlets), plataforma .NET, desenvolvimento de aplicações
Page 5: Desenvolvimento de Aplicativos para Windows Phonerakuten.livrariacultura.com.br/imagem/capitulo/42665334.pdf · PHP, JSP e Servlets), plataforma .NET, desenvolvimento de aplicações

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).

Page 6: Desenvolvimento de Aplicativos para Windows Phonerakuten.livrariacultura.com.br/imagem/capitulo/42665334.pdf · PHP, JSP e Servlets), plataforma .NET, desenvolvimento de aplicações

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.

Page 7: Desenvolvimento de Aplicativos para Windows Phonerakuten.livrariacultura.com.br/imagem/capitulo/42665334.pdf · PHP, JSP e Servlets), plataforma .NET, desenvolvimento de aplicações

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

Page 8: Desenvolvimento de Aplicativos para Windows Phonerakuten.livrariacultura.com.br/imagem/capitulo/42665334.pdf · PHP, JSP e Servlets), plataforma .NET, desenvolvimento de aplicações

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

Page 9: Desenvolvimento de Aplicativos para Windows Phonerakuten.livrariacultura.com.br/imagem/capitulo/42665334.pdf · PHP, JSP e Servlets), plataforma .NET, desenvolvimento de aplicações

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.

Page 10: Desenvolvimento de Aplicativos para Windows Phonerakuten.livrariacultura.com.br/imagem/capitulo/42665334.pdf · PHP, JSP e Servlets), plataforma .NET, desenvolvimento de aplicações

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.

Page 11: Desenvolvimento de Aplicativos para Windows Phonerakuten.livrariacultura.com.br/imagem/capitulo/42665334.pdf · PHP, JSP e Servlets), plataforma .NET, 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:

Page 12: Desenvolvimento de Aplicativos para Windows Phonerakuten.livrariacultura.com.br/imagem/capitulo/42665334.pdf · PHP, JSP e Servlets), plataforma .NET, desenvolvimento de aplicações

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.

Page 13: Desenvolvimento de Aplicativos para Windows Phonerakuten.livrariacultura.com.br/imagem/capitulo/42665334.pdf · PHP, JSP e Servlets), plataforma .NET, desenvolvimento de aplicações

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”>

Page 14: Desenvolvimento de Aplicativos para Windows Phonerakuten.livrariacultura.com.br/imagem/capitulo/42665334.pdf · PHP, JSP e Servlets), plataforma .NET, desenvolvimento de aplicações

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.

Page 15: Desenvolvimento de Aplicativos para Windows Phonerakuten.livrariacultura.com.br/imagem/capitulo/42665334.pdf · PHP, JSP e Servlets), plataforma .NET, desenvolvimento de aplicações

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.

Page 16: Desenvolvimento de Aplicativos para Windows Phonerakuten.livrariacultura.com.br/imagem/capitulo/42665334.pdf · PHP, JSP e Servlets), plataforma .NET, desenvolvimento de aplicações

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 -

Page 17: Desenvolvimento de Aplicativos para Windows Phonerakuten.livrariacultura.com.br/imagem/capitulo/42665334.pdf · PHP, JSP e Servlets), plataforma .NET, desenvolvimento de aplicações

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:

Page 18: Desenvolvimento de Aplicativos para Windows Phonerakuten.livrariacultura.com.br/imagem/capitulo/42665334.pdf · PHP, JSP e Servlets), plataforma .NET, desenvolvimento de aplicações

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.