treinamento windows phone

46
Desenvolvimento para Windows Phone 7 com silverlight

Upload: mario-pimentel

Post on 01-Jul-2015

1.145 views

Category:

Education


0 download

DESCRIPTION

Treinamento de Windows Phone

TRANSCRIPT

Page 1: Treinamento Windows Phone

Desenvolvimento para Windows Phone 7 com silverlight

Page 2: Treinamento Windows Phone

Mário PimentelSeverino

@MarioPimentel

MarioPimentelJr

[email protected]

Http://mozit.tv

Page 3: Treinamento Windows Phone

O que veremos nesse curso?

Page 4: Treinamento Windows Phone

FOCO DO CURSO

• Silverlight– XAML– Binding– Controles– Blend e Visual Studio 2010

Page 5: Treinamento Windows Phone

FOCO DO CURSO

• WP7– Criando uma aplicação com Silverlight

• Layouts• Recursos do Aparelho• Armazenamento local• Ciclo de vida• Serviços

– Publicação no Market

Page 6: Treinamento Windows Phone
Page 7: Treinamento Windows Phone

Introdução aoWindows phone 7 “Mango”

Page 8: Treinamento Windows Phone

Visão geral do Windows Phone Nova plataforma mobile da Microsoft. Foco no usuário final Nova interface – Metro

Interface também adotada no Windows 8. Utilização de HUBS Desenvolvimento .NET Windows Phone Marketplace.

Page 9: Treinamento Windows Phone

Hardware do Windows Phone Padronização junto aos fabricantes. Mínimo: 256 MB RAM e 8 GB de storage Botões – Back (Voltar) , Start (Iniciar) e Search (Procurar) Tela – Multitouch capacitivo (800x480) Câmera – mínimo de 5 megapixels + flash Sensores e serviço

Wi-fi Accelerometer Compass (Bússola) Location (GPS) Speech (Reconhecimento de voz) Vibration Push Notifications

Page 10: Treinamento Windows Phone

Arquitetura do Windows Phone

Page 11: Treinamento Windows Phone

Ciclo de Vida de Desenvolvimento

Page 12: Treinamento Windows Phone

Introdução ao xaml

Page 13: Treinamento Windows Phone

O que é XAML?

• É uma linguagem de marcação.• Tecnologia de criação de interface do .NET

Framework.• Disponível desde o .NET Framework 3.0• Criação de interface para as plataformas:

– WPF (Windows Presentation Foundation)– Silverlight para Web– Silverlight para Windows Phone– Windows 8

Page 14: Treinamento Windows Phone

Poderes e limitações do XAML

• É uma linguagem declarativa.• Mais usada para criar e instanciar objetos.• Templates• Data Binding• Animações/Efeitos de Transição • Há coisas que só podem ser feitas no XAML,

outras apenas no código e outras em ambas.

Page 15: Treinamento Windows Phone

Sintaxe do XAML

• Elementos do objeto– Um elemento do objeto declara a instância de um tipo

(componente).– Para iniciar o objeto sempre começa com “<”, seguido do

nome do objeto e finaliza com “>”.– Para fechar um objeto com conteúdo, começa com “</”.– Para fechar um objeto sem conteúdo, termina com “/>”.

<StackPanel> <Button Content="Click Me"/>

</StackPanel>

Page 16: Treinamento Windows Phone

Sintaxe do XAML

• Atributos (Propriedades)– Propriedades podem ser declaradas como

atributos no XAML.

<Button Background="Blue" Foreground="Red" Content="This is a button"/>

Page 17: Treinamento Windows Phone

Elementos Contêiner

• Facilita questão diversas do layout como posicionamento e redimensionamento.

• Todos elementos de objeto precisam estar em pelo menos um Elemento Contêiner.

• Alguns Elementos Contêiner são: – Grid– Canvas– StackPanel.

Page 18: Treinamento Windows Phone

Elementos Contêiner

• Canvas – Define uma área na qual os Elementos filhos podem definir coordenadas relativas a essa área.- Mais fácil de trabalhar com Posições X e Y.

<Canvas Width="640" Height="480" Background="White">

<Rectangle Canvas.Left="30" Canvas.Top="30" Fill="red"

Width="200" Height="200" /></Canvas>

Page 19: Treinamento Windows Phone

Elementos Contêiner

• Grid– Define uma área

flexível que consiste em colunas e linhas..

<Grid Width="400" Height="300"> <Grid.ColumnDefinitions> …</Grid.ColumnDefinitions>

<Grid.RwDefinitions> ...</Grid.RowDefinitions>

//Restante dos elementos

</Grid>

Page 20: Treinamento Windows Phone

Elementos Contêiner• Grid

Page 21: Treinamento Windows Phone

Elementos Contêiner

• StackPanel– Organiza os elementos filhos em uma

única linha que pode ser orientada horizontalmente ou verticalmente.

<StackPanel Margin="20"> <Rectangle Fill="Red" Width="50" Height="50" Margin="5" /> <Rectangle Fill="Blue" Width="50" Height="50" Margin="5" /><Rectangle Fill="Green" Width="50" Height="50" Margin="5" /> <Rectangle Fill="Purple" Width="50" Height="50" Margin="5" />

</StackPanel>

Page 22: Treinamento Windows Phone

Data binding

Page 23: Treinamento Windows Phone

Data Binding

• Disponibiliza uma forma simples para exibir dados no layout.

• Estabelece uma conexão entre o UI e um objeto de dados.– Exemplo: Um usuário edita um TextBlock. O valor

atribuido a esse elemento é automaticamente atualizado no objeto de origem também.

Page 24: Treinamento Windows Phone

Data Binding

• Exemplo:

<TextBox x:Name="MyTextBox" Text="Text" Foreground="{Binding Brush1, Mode=TwoWay}"/>

XAML

Código

MyColors textcolor = new MyColors(); textcolor.Brush1 = new SolidColorBrush(Colors.Red);MyTextBox.DataContext = textcolor;

Page 25: Treinamento Windows Phone

PANORAMA E PIVOT

Page 26: Treinamento Windows Phone

Panorama

• Oferece uma experiência única de ver controles, dados e serviços usando uma tela horizontal.

• Não fica limitado ao tamanho da tela do Windows Phone.• O usuário tem a liberdade de navegar para esquerda ou

direita.

Page 27: Treinamento Windows Phone

Panorama

Page 28: Treinamento Windows Phone

Panorama

• PanoramaItem é o controle secundário que serve como contêiner para o conteúdo de um Panorama.

Page 29: Treinamento Windows Phone

Pivot

• Uma forma rápida de gerenciar layout ou páginas.• O usuário tem a liberdade de navegar para esquerda ou

direita, mas não tem um pré-visualização da parte direita.

Page 30: Treinamento Windows Phone

Pivot

Page 31: Treinamento Windows Phone

Pivot

• PivotItem é o controle secundário que serve como contêiner para o conteúdo de um Pivot.

Também é possível navegar tocandonos títulos das páginas

Page 32: Treinamento Windows Phone

CICLO DE VIDA

Page 33: Treinamento Windows Phone

Ciclo de Vida

running

deactivated

dormantTombstoned

activated

Page 34: Treinamento Windows Phone

Ciclo de Vida

• OnNavigatedTo– Chamado quando o usuário navega para a página.

• OnNavigatedFrom– Chamado quando o usuário sai da página.

Page 35: Treinamento Windows Phone

Ciclo de Vida

• Desactived– Chamado quando o usuário:

• Pressiona o botão Start• Muda para outro aplicativo.

• Actived– Chamado quando o aplicativo retorna do estado:

• Dormant.• Tombstoned.

Page 36: Treinamento Windows Phone

Ciclo de Vida

• Launching– Chamado quando o usuário:

• Abre o programa pela lista de aplicativos• Abre o programa via Tile.• Recebe uma notificação pedindo para abrir o aplicativo e ele aceita.

• Closing– Chamado quando o usuário aperta o botão “Back” do Windows

Phone para sair do aplicativo.

Page 37: Treinamento Windows Phone

Ciclo de VidaQuando o usuário aperta em “Back” saindo do aplicativo.

Quando o aplicativo é aberto via lista, Tite ou Notification

Quando o usuário volta ao aplicativo apertando “Back” ou quando retorna de Tombstoned ou Dormant.

Quando o usuário aperta em Start ou seleciona outro aplicativo aberto.

Page 38: Treinamento Windows Phone

ISOLATED STORAGE

Page 39: Treinamento Windows Phone

Isolated Storage

• Permite armazenar dados no próprio Windows Phone.

• Toda ação de armazenamento e leitura de dados locais está restrita ao Isolated Storage.

• É mais seguro, reduz as chances de acessos não autorizados e erros.

Page 40: Treinamento Windows Phone

Opções de armazenamento

• É possível armazenar:– Chave/Valor: Gravar dados com o par

key/value usando a classe IsolatedStorageSettings.

– Arquivos e Pastas: Gravar arquivos e pastas usando a classe IsolatedStorageFile.

– Dados relacionais: Gravar dados em um banco de dados local usando LINQ to SQL.

Page 41: Treinamento Windows Phone

Opções de armazenamento

Page 42: Treinamento Windows Phone

Opções de armazenamento

• Chave/Valor (IsolatedStorageSettings):

string NomeUsuario;

if( IsolatedStorageSettings.ApplicationSettings.TryGetValue<string>("NomeUsuario", out NomeUsuario)){ IsolatedStorageSettings.ApplicationSettings.Add("NomeUsuario", "José");

}

Código

Page 43: Treinamento Windows Phone

Opções de armazenamento

• Arquivos/Pastas (IsolatedStorageSettings):

Códigovar store = IsolatedStorageFile.GetUserStoreForApplication()

store.CreateDirectory("MyApp1"); IsolatedStorageFileStream rootFile = store.CreateFile("InTheRoot.txt"); rootFile.Close();

if (store.FileExists(filePath)) { StreamWriter sw = new StreamWriter( store.OpenFile( "InTheRoot.txt”,

FileMode.Open, . . FileAccess.Write)); }

Page 44: Treinamento Windows Phone

Opções de armazenamento

• LINQ to SQL:

Código

var toDoItemsInDB = from ToDoItem todo in toDoDB.ToDoItems select todo; ToDoItems = new ObservableCollection<ToDoItem>(toDoItemsInDB);

Page 45: Treinamento Windows Phone

DEMO

Page 46: Treinamento Windows Phone

WINDOWS PHONE 7

Mário PimentelSeverino

@MarioPimentel

MarioPimentelJr

[email protected]

Http://mozit.tv