desenvolvimento de apps e games para android - parte 2

38
Desenvolvimento de Apps e Games para Android Por Erisvaldo Júnior. Parte 2 (08/09/2011)

Upload: erisvaldo-junior

Post on 31-May-2015

4.168 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: Desenvolvimento de Apps e Games para Android - Parte 2

Desenvolvimento de

Apps e Games para Android

Por Erisvaldo Júnior. Parte 2 (08/09/2011)

Page 2: Desenvolvimento de Apps e Games para Android - Parte 2

RECAPITULANDO…

Page 3: Desenvolvimento de Apps e Games para Android - Parte 2

Android já lidera mercado mundial de smartphones

No primeiro trimestre de 2011, 35% dos smartphones vendidos eram Android, contra 19% do iOS, da Apple

http://www.geektech.com.br/?p=116

Page 4: Desenvolvimento de Apps e Games para Android - Parte 2

Google App Inventor for Android Criação de aplicações para Android visualmente, sem a necessidade de escrever código.

Page 5: Desenvolvimento de Apps e Games para Android - Parte 2

Arquitetura do Android

Page 6: Desenvolvimento de Apps e Games para Android - Parte 2

Componentes de Aplicações

Activity

Broadcast Receiver

Content Provider

Service

Page 7: Desenvolvimento de Apps e Games para Android - Parte 2

Roteiro da Aula

Bem vindo ao mundo da mobilidade

TELAS E

LAYOUTS

OS PRIMEIROS PASSOS

Page 8: Desenvolvimento de Apps e Games para Android - Parte 2

TELAS E LAYOUTS

Page 9: Desenvolvimento de Apps e Games para Android - Parte 2

Como o Android suporta múltiplas telas? Desde o Android 1.6, a plataforma provê suporte a múltiplos tamanhos de tela e resoluções, adequando-se aos muitos tipos e tamanhos de dispositivos com Android. Assim, a partir do Android 1.6, a plataforma divide a infinidade de tamanhos de tela e resoluções suportadas em: • Um conjunto de três tamanhos: large, normal e small; • Um conjunto de três densidades: hdpi (high), mdpi (medium) e ldpi (low).

Dessa forma, a aplicação pode prover layouts e imagens para qualquer um desses três conjuntos, sem a necessidade de trabalhar com o tamanho físico real da tela do aparelho. Em tempo de execução, o Android carrega o conjunto adequado de recursos, baseado no dispositivo em questão.

Page 10: Desenvolvimento de Apps e Games para Android - Parte 2
Page 11: Desenvolvimento de Apps e Games para Android - Parte 2
Page 12: Desenvolvimento de Apps e Games para Android - Parte 2

Organização de pastas de layout e imagens para uma aplicação que, em tese, suporta todos os tamanhos de telas e resoluções.

Page 13: Desenvolvimento de Apps e Games para Android - Parte 2

Views e ViewGroups em Android

Em Android, todos os componentes de interface gráfica são representados por subclasses de android.view.View que representam os componentes gráficos como TextView, Button, TextEdit, RadioButton, CheckBox, etc. Além da classe android.view.ViewGroup, que representa um container de views e também de ViewGroups. Ela é a classe base para componentes de layouts, como LinearLayout, RelativeLayout, AbsoluteLayout, FrameLayout, TableLayout, etc.

Page 14: Desenvolvimento de Apps e Games para Android - Parte 2

Hie

rarq

uia

de

cla

sse

s d

e U

I

Page 15: Desenvolvimento de Apps e Games para Android - Parte 2

Layouts e Layout Params em Android Para que os componentes possam ser acomodados de acordo com o layout de seu pai, os mesmos devem manter uma relação de obediência. Sendo assim, cada filho deve configurar os seus parâmetros de layouts, por meio da classe ViewGroup.LayoutParams, que permite que estes determinem suas propriedades de posição e tamanho referente ao layout de seus pais.

Page 16: Desenvolvimento de Apps e Games para Android - Parte 2

LinearLayout

O layout básico, padrão quando da geração de um .XML de layout no Android, é o LinearLayout. Como o próprio nome diz, ele dispõe os componentes linearmente em uma unica direção definida pelo atributo android:layout_orientation.

Page 17: Desenvolvimento de Apps e Games para Android - Parte 2

LinearLayout e LayoutParams android:layout_gravity: similar ao float do CSS, o gravity define a posição do conteúdo do LinearLayout na tela, podendo-se usar top, bottom, left, right, center, center_vertical, center_horizontal, etc. Pode-se usar combinações através do conector “|”. Por exemplo: “bottom | right”. android:layout_weight: indica quanto do espaço extra no LinearLayout será alocado para a visão associada aos LayoutParams. Ou seja, pode-se dividir a tela entre os layouts atribuindo a cada um deles um peso que define qual deles terá maior espaçamento e, casa todos tenham o mesmo peso, a tela é dividida igualmente.

Aplicação de peso (weight) em um componente do LinearLayout

Page 18: Desenvolvimento de Apps e Games para Android - Parte 2

LinearLayout (Código)

Page 19: Desenvolvimento de Apps e Games para Android - Parte 2

FrameLayout Arranja seus filhos de acordo com uma pilha de componentes que são adicionados, sendo que o topo da pilha contém o objeto que foi adicionado por último. Pode-se usar quando se tem várias imagens e uma é sobreposta pela outra (como um slide de imagens) conforme vão sendo adicionadas.

Sobreposição de componentes com FrameLayout

Criando uma pilha de componentes com FrameLayout

Page 20: Desenvolvimento de Apps e Games para Android - Parte 2

FrameLayout (Código)

Nota: O FrameLayout é usado comumente a partir de uma de suas subclasses, tais como ImageSwitcher, ViewAnimator, ViewSwitcher, ScrollView, TabHost, etc.

Page 21: Desenvolvimento de Apps e Games para Android - Parte 2

AbsoluteLayout Implementa um plano cartesiano e posiciona os componentes em coordenadas X, Y de forma absoluta.

Posicionando componentes no AbsoluteLayout

Page 22: Desenvolvimento de Apps e Games para Android - Parte 2

AbsoluteLayout (Código)

Page 23: Desenvolvimento de Apps e Games para Android - Parte 2

RelativeLayout Os componentes são ajustados através de relacionamentos entre si ou ao seu pai.

Page 24: Desenvolvimento de Apps e Games para Android - Parte 2

RelativeLayout (Código)

Page 25: Desenvolvimento de Apps e Games para Android - Parte 2

TableLayout Comporta seus filhos em linhas e colunas. Cada filho é representado por um TableRow (uma espécie de LinearLayout na horizontal) que permite que uma ou ais células sejam adicionadas horizontalmente, sendo que cada célula pode conter um único View.

Page 26: Desenvolvimento de Apps e Games para Android - Parte 2

TableLayout (Código)

Page 27: Desenvolvimento de Apps e Games para Android - Parte 2

OS PRIMEIROS PASSOS

Page 28: Desenvolvimento de Apps e Games para Android - Parte 2

O que é necessário?

1. Última versão do Java Development Kit (JDK) instalado 2. Efetuar o download de: • Android SDK (http://developer.android.com/sdk) • Eclipse IDE (http://www.eclipse.org/downloads)

3. Instalação do plugin Android Development Tools (ADT) através do Gerenciador de Plugins do Eclipse: • ADT Plugin para Eclipse (https://dl-ssl.google.com/android/eclipse)

Page 29: Desenvolvimento de Apps e Games para Android - Parte 2

Adicionando plataformas Android no Eclipse

Menu Window -> Android SDK and AVD Manager ->

Installed Packages -> Update All.

Selecionar

plataformas e componentes desejados e

efetuar o download.

Page 30: Desenvolvimento de Apps e Games para Android - Parte 2

Adicionando AVDs (Android Virtual Devices) Uma vez instalado o ADT Plugin e as plataformas desejadas, é hora de adicionar pelo menos um AVD para que você possa testar suas aplicações.

Acessa-se o menu Window do Eclipse e, em seguida, Android SDK and AVD Manager. Seleciona-se Virtual Devices e, finalmente, clica-se em New. Depois basta configurar o dispositivo virtual conforme se deseja e ele estará disponível para ser usado.

Page 31: Desenvolvimento de Apps e Games para Android - Parte 2

Estrutura de um projeto Android Quando se cria um projeto com o ADT plugin, obtém-se a seguinte estrutura de pastas:

• / - Raiz do projeto. o src/ - Classes Java o gen/ - Código Java gerado automaticamente. o res/ - Recursos da aplicação

drawable/ - Imagens layout/ - Layouts de telas/formulários. values/ - Arquivos de variáveis.

o AndroidManifest.xml - Configuração do projeto.

Page 32: Desenvolvimento de Apps e Games para Android - Parte 2

AndroidManifest.xml Arquivo de configuração de uma aplicação Android. Identifica o nome e o ícone da aplicação, declara os componentes, realiza a conexão com bibliotecas extras que a aplicação necessita (além da biblioteca padrão do Android), define a versão mínima do Android na qual a aplicação pode ser executada e identifica quaisquer permissões que a aplicação espera obter.

Page 33: Desenvolvimento de Apps e Games para Android - Parte 2

Layout – main.xml A forma mais comum de esboçar uma tela é através de um arquivo de layout no formato XML. Esse arquivo determina o tipo de layout utilizado e declara os elementos de interface que compõem a tela, correspondentes às classes View e suas subclasses. Além disso, a aplicação pode criar objetos View e ViewGroup, bem como manipular suas propriedades, em tempo de execução, através de código na Activity.

Page 34: Desenvolvimento de Apps e Games para Android - Parte 2

Classe R

Page 35: Desenvolvimento de Apps e Games para Android - Parte 2

Exercício 1.1

Alterar o layout main.xml para obter uma tela similar a esta imagem.

Page 36: Desenvolvimento de Apps e Games para Android - Parte 2

EXERCÍCIOS DE LAYOUT

Exercício 1.2: criar um layout linearlayout.xml de forma a confeccionar a tela abaixo.

Page 37: Desenvolvimento de Apps e Games para Android - Parte 2

EXERCÍCIOS DE LAYOUT

Exercício 1.3: criar o layout abaixo.

Page 38: Desenvolvimento de Apps e Games para Android - Parte 2

obrigado

• e-mail: [email protected]

• web: http://erisvaldojunior.com

• twitter: @erisvaldojunior