114
1 14/09/11 ENUCOMP - 2011

Desenvolvimento de aplicações para a plataforma google android

Embed Size (px)

DESCRIPTION

Slide da apresentação sobre desenvolvimento de aplicações para Google Android no ENUCOMP 2011.Durante a apresentação foi desenvolvida uma app android fazendo comunicação com uma aplicação web, desenvolvida com VRaptor, via RestFul. A aplicação era uma biblioteca on line, onde os alunos que tivesse a app android podia reservar e renovar os títulos do acervo.

Citation preview

Page 1: Desenvolvimento de aplicações para a plataforma google android

114/09/11 ENUCOMP - 2011

Page 2: Desenvolvimento de aplicações para a plataforma google android

Apresentação

2

Cândido Sales •Estudante do IFPI;•Membro do LIMS;

@[email protected]

Lucas Aquiles•Estudante do IFPI;

@[email protected]

Apresentação

14/09/11 ENUCOMP - 2011

Page 3: Desenvolvimento de aplicações para a plataforma google android

Introdução a Computação móvelIntrodução a Computação móvel

314/09/11 ENUCOMP - 2011

Page 4: Desenvolvimento de aplicações para a plataforma google android

4

Computação MóvelRealizada em dispositivos portáteis que sejam

capazes de acessar uma rede sem fio.

Por usuários móveis (com diferentes velocidades)

Acesso à informação a qualquer lugar, a qualquer momento

Termos relacionados:

– Computação Pervasiva

– Computação Ubíqua

14/09/11 ENUCOMP - 2011

Page 5: Desenvolvimento de aplicações para a plataforma google android

Dos Mainsframes à computação móvel

14/09/11 ENUCOMP - 2011

Page 6: Desenvolvimento de aplicações para a plataforma google android

Computação Pervasiva

Computação Pervasiva: acesso conveniente a informações relevantes e a habilidade de realizar ações sobre as mesmas quando e onde for necessário (IBM).

“Espalhada por todos os lugares”

14/09/11 ENUCOMP - 2011

Page 7: Desenvolvimento de aplicações para a plataforma google android

Computação Pervasiva

Projeto Everywhere Display (IBM)

– Qualquer superfície pode se tornar em uma projeção do tipo “touch screen”

14/09/11 ENUCOMP - 2011

Page 8: Desenvolvimento de aplicações para a plataforma google android

Computação Ubíqua

Computação Ubíqua:

– onipresença da informática no cotidiano das pessoas (Wikipédia)

– ... tornam-se parte da nossa vida de forma que não os percebemos mais (Mark Weiser)

– Baseia-se na detecção de gestos, movimentos, fala, movimentação dos olhos...

14/09/11 ENUCOMP - 2011

Page 9: Desenvolvimento de aplicações para a plataforma google android

Computação Ubíqua

Ex: Casa do “futuro”:

• Sistema automático de iluminação

• Sistemas de extinção e prevenção de incêndios

• Monitoramento de saúde dos ocupantes da casa

• Geladeira que perceba variações de estoque e validade dos produtos

• Celular que envia dados de “coletados” a uma central médica

14/09/11 ENUCOMP - 2011

Page 10: Desenvolvimento de aplicações para a plataforma google android

14/09/11 ENUCOMP - 2011

Computação Ubíqua

Page 11: Desenvolvimento de aplicações para a plataforma google android

Juntando tudo

14/09/11 ENUCOMP - 2011

Page 12: Desenvolvimento de aplicações para a plataforma google android

Princípios da Computação Móvel

Descentralização

Diversificação

Conectividade

Simplicidade

14/09/11 ENUCOMP - 2011

Page 13: Desenvolvimento de aplicações para a plataforma google android

Princípio da Descentralização

Um passo além da descentralização dos sistemas distribuídos;

Uma grande variedade de pequenos dispositivos cooperam estabelecendo uma rede dinâmica de relacionamentos;

A habilidade de utilizar aplicações e informações em dispositivos móveis gera a necessidade de sincronização de atualizações de dados com sistemas servidores e outros dispositivos.

14/09/11 ENUCOMP - 2011

Page 14: Desenvolvimento de aplicações para a plataforma google android

Princípio da Diversificação

Mesma informação em diferentes “modelos”

14/09/11 ENUCOMP - 2011

Page 15: Desenvolvimento de aplicações para a plataforma google android

Princípio da Conectividade

Uma grande variedade de tecnologias deve ser atendida:

– redes celulares, WLANs, Bluetooth, IrDA, WiMax, comunicação via satélite, etc. . .

Não basta apenas conectar os dispositivos:

– Troca de dados

– Descoberta de serviços

– Delegação de tarefas

14/09/11 ENUCOMP - 2011

Page 16: Desenvolvimento de aplicações para a plataforma google android

Princípio da Simplicidade

Computadores de uso geral: configuração complexa

“Computadores” móveis: mais específicos e mais simples em configuração

Simples não significa primitivo:– telas touch-screen,– reconhecimento de escrita,– reconhecimento de voz– etc

14/09/11 ENUCOMP - 2011

Page 17: Desenvolvimento de aplicações para a plataforma google android

Requisitos de Aplicação• Infra-estrutura:

- Cobertura(indoor, outdoor, acesso a alta/baixa velocidade)

- Qualidade da comunicação

- Confiabilidade e estabilidade da comunicação

- Segurança

• Dispositivo Móvel

– Forma de interação (grafico, textual, voz)

– Capacidade de identificar localização

– Capacidade de processamento e armazenamento locais

• Serviços Middleware

– Suporte à criptografia e autenticação

– QoS (Quality of Service)

– Descoberta e adaptação a novos serviços e recursos

14/09/11 ENUCOMP - 2011

Page 18: Desenvolvimento de aplicações para a plataforma google android

Aceitação das Tecnologias

Tempo para atingir 1 milhão de usuários:

– TV preto-banco: 20 anos

– TV em cores: 9 anos

– VCR: 8 anos

– PC: 6 anos

– Celular: 2 anos e meio

Dos 128 milhões de PCs vendidos em 2001, 22% eram laptops e este percentual tem crescido 1 a 2 pontos por ano desde 1999;

Acessos à Internet por meio de dispositivos móveis ultrapassou os acessos convencionais (PC e Browser) desde meados de 2002.

14/09/11 ENUCOMP - 2011

Page 19: Desenvolvimento de aplicações para a plataforma google android

Algumas aplicações de computação móvel

Négocios diversos: m-commerce e m-business

• Acesso à Internet por viajantes: transferência de arquivos, Web, acesso remoto…;

• Comércio: vendedores ambulantes;

• Tratamento Médico emergencial: transmissão do prontuário de/para ambulância (ou local do acidente);

• Segurança: consulta e obtenção de ficha criminal;

• Seguradoras: avaliação de sinistro;

• Serviços de resgate: coordenação das atividades de resgate;

• Aplicações Militares: coordenação de ações;

Gerenciamento de frota e Gerenciamento de bens;

14/09/11 ENUCOMP - 2011

Page 20: Desenvolvimento de aplicações para a plataforma google android

Serviços baseados em localização

Serviços de emergência: usuários entram em contato com uma central (E911) e é localizado;

• Informações de tráfego;

• Navegação: Como ir do ponto A ao ponto B?

• Gerenciamento de frota;

• Gerenciamento de bens;

• Publicidade sem fio: usuários podem subscrever serviços que os notifiquem a respeito de certos produtos quando adentrarem uma dada região;

• Serviços de busca: restaurantes, postos de gasolina, hotéis próximos;

• Localização automática de veículos;

• Mapas;

• Informações de trânsito;

• Jogos.

14/09/11 ENUCOMP - 2011

Page 21: Desenvolvimento de aplicações para a plataforma google android

Impacto da Computação MóvelRepresenta um novo paradigma computacional,ampliando os

conceitos da computação distribuída

– Áreas com diversas implicações:

Redes de Computadores

Sistemas Operacionais

Banco de Dados

Ambientes de Programação

etc. . .

Mudanças sociais?

14/09/11 ENUCOMP - 2011

Page 22: Desenvolvimento de aplicações para a plataforma google android

Difusão da Tecnologia celular

14/09/11 ENUCOMP - 2011

Page 23: Desenvolvimento de aplicações para a plataforma google android

14/09/11 ENUCOMP - 2011

Difusão da Tecnologia celular

Page 24: Desenvolvimento de aplicações para a plataforma google android

Difusão da Tecnologia celular

14/09/11 ENUCOMP - 2011

Page 25: Desenvolvimento de aplicações para a plataforma google android

14/09/11 ENUCOMP - 2011

Difusão da Tecnologia celular

Page 26: Desenvolvimento de aplicações para a plataforma google android

Difusão da Tecnologia celular

14/09/11 ENUCOMP - 2011

Page 27: Desenvolvimento de aplicações para a plataforma google android

14/09/11 ENUCOMP - 2011

Difusão da Tecnologia celular

Page 28: Desenvolvimento de aplicações para a plataforma google android

14/09/11 ENUCOMP - 2011

Difusão da Tecnologia celular

Page 29: Desenvolvimento de aplicações para a plataforma google android

14/09/11 ENUCOMP - 2011

Difusão da Tecnologia celular

Page 30: Desenvolvimento de aplicações para a plataforma google android

14/09/11 ENUCOMP - 2011

Difusão da Tecnologia celular

Page 31: Desenvolvimento de aplicações para a plataforma google android

14/09/11 ENUCOMP - 2011

Difusão da Tecnologia celular

Page 32: Desenvolvimento de aplicações para a plataforma google android

Visão GeralVisão Geral

III SACIC - 2011 3214/09/11 ENUCOMP - 2011

Page 33: Desenvolvimento de aplicações para a plataforma google android

Roteiro

1. Mundo mobile

2. O que é o Android;

3. Open Handset Alliance;

4. Android e os competidores;

5. Por que Linux no Android?;

6. Dalvik Virtual Machine;

7. Instalando as ferramentas do Android;

8. Projeto “Meu HelloWord”

9. Componentes;

14/09/11 ENUCOMP - 2011

Page 34: Desenvolvimento de aplicações para a plataforma google android

Mundo mobile

Mercado de celulares

Usuários querem mais recursos em seus dispositivos

Aplicações móveis no mundo coorporativo

Necessidade de plataformas mais modernas para desenvolvimento de aplicações no auxilio de seus negócios e lucros.

14/09/11 ENUCOMP - 2011

Page 35: Desenvolvimento de aplicações para a plataforma google android

O que é Android?

Sistema operacional baseado no kernel do Linux;

Possui uma implementação da JVM – Dalvik;

Código aberto e livre;Plataforma flexível e poderosíssima de

desenvolvimentoCustomizavel

14/09/11 ENUCOMP - 2011

Page 36: Desenvolvimento de aplicações para a plataforma google android

Android e os competidores

IPhone

JME

Symbiam

BlackBerry

WindowsMobile

14/09/11 ENUCOMP - 2011

Page 37: Desenvolvimento de aplicações para a plataforma google android

Porque Linux no android?

Construída sob o kernel 2.6 do Linux

Gerencia memória e processos

Abstração de hardware

Usuários não vêem o Linux e seus programas não fazem chamas diretas a ele.

Suporte a gráficos 3D, especificação 1.0 da OpenGL ES, possível criar jogso com ótima qualidade.

14/09/11 ENUCOMP - 2011

Page 38: Desenvolvimento de aplicações para a plataforma google android

Open Handset Alliance

União entre grandes da telefonia liderados pelo Google (OHA – Open Handset Alliance)

Definir uma plataforma única e abertaPlataforma moderna e flexível para

desenvolvimento de aplicaçõesFabricantes, Usuários e

Desenvolvedores se beneficiam com o grupo

14/09/11 ENUCOMP - 2011

Page 39: Desenvolvimento de aplicações para a plataforma google android

Dalvik Virtual Machine

JVM ótimizada para execução de dispositivos móveis – Dalvik

Bytecodes (arquivo .class) são convertidos em arquivo .dex (Dalvik Executable) – Aplicação android compilada

Compactação dos arquivos .dex e recursos como imagens em arquivos .apk (Android Package File) – Aplicação Final

14/09/11 ENUCOMP - 2011

Page 40: Desenvolvimento de aplicações para a plataforma google android

Instalando as ferramentas do Android

Requisitos1.Java SDK2.Android SDK3.Eclipse IDE4.Plugin ADT

14/09/11 ENUCOMP - 2011

Page 41: Desenvolvimento de aplicações para a plataforma google android

Configuração do ambiente

1. Escolher a versãodo JDK

2.Aceite os termos

3.Escolher a versãopara seu S.O

14/09/11 ENUCOMP - 2011

Page 42: Desenvolvimento de aplicações para a plataforma google android

Configuração do ambiente

Instalação do JDK no Linux (Ubuntu)Com o comando apt-get:sudo apt-get install openjdk-6-jdk && sudo apt-get

install sun-java6-jdk

Após a instalação entre via console e digite: java –v

A saída deve ser a versão do java instalado.

14/09/11 ENUCOMP - 2011

Page 43: Desenvolvimento de aplicações para a plataforma google android

Instalação do Android SDK

1. no site www.android.com escolher a opção developers

14/09/11 ENUCOMP - 2011

Page 44: Desenvolvimento de aplicações para a plataforma google android

Instalação do Android SDK

2. Escolha a opção SDK

3. Baixe o android SDK de acordo com o seu S.O

A versão atual é a 3.2 (para tablet) e 2.3.3 (para smartphone)14/09/11 ENUCOMP - 2011

Page 45: Desenvolvimento de aplicações para a plataforma google android

Instalação do Android SDK

Localize o arquivo e descompacte-o.

No windows basta executar o arquivo “SDK Manager.exe” localizado na pasta raiz do sdk

No linux ou Mac, acesse pelo terminal a pasta raiz do sdk e execute o comando ./tools/android

14/09/11 ENUCOMP - 2011

Page 46: Desenvolvimento de aplicações para a plataforma google android

Instalação do Android SDK

irá aparacer o Android SDK e o AVD (android vitual device) Manager.

14/09/11 ENUCOMP - 2011

Page 47: Desenvolvimento de aplicações para a plataforma google android

Instalação do Android SDK

Vá em “Available Packages”, marque a opção “AndroidRepository” e clique em “Install Selected”

14/09/11 ENUCOMP - 2011

Page 48: Desenvolvimento de aplicações para a plataforma google android

Instalação do Android SDK

Uma lista com todos os componentes disponíveis, incluindo documentação, plataformas, add-on, bibliotecas será exibida.

14/09/11 ENUCOMP - 2011

Page 49: Desenvolvimento de aplicações para a plataforma google android

Instalação do Android SDK

Caso ocorra algum erro de HTTPS SSL, vá em "settings“, marque a opção "Force https:// sources to be fetched using http://" e clique em "Save & Apply".

14/09/11 ENUCOMP - 2011

Page 50: Desenvolvimento de aplicações para a plataforma google android

Instalação do Android SDK

Aceite todos e clique em “install”

14/09/11 ENUCOMP - 2011

Page 51: Desenvolvimento de aplicações para a plataforma google android

Instalação e Configuração do Eclipse IDE

1. Acesse o site www.eclipse.org e vá na sessão “Downlods”

2. Escolha a versão do Eclipse IDE for Java Developers

14/09/11 ENUCOMP - 2011

Page 52: Desenvolvimento de aplicações para a plataforma google android

Instalação e Configuração do Eclipse IDE

Faça o download

14/09/11 ENUCOMP - 2011

Page 53: Desenvolvimento de aplicações para a plataforma google android

Instalação e Configuração do Eclipse IDE

Após o download localize o arquivo , descompacte-o e execute o arquivo “eclipse.exe”

No ubunto é apenas “eclipse”

14/09/11 ENUCOMP - 2011

Page 54: Desenvolvimento de aplicações para a plataforma google android

Instalação do plugin ADT

Inicie o eclipse e vá em “help”, “install new software”

14/09/11 ENUCOMP - 2011

Page 55: Desenvolvimento de aplicações para a plataforma google android

Instalação do plugin ADT

Clique em add e uma nova janela irá aparecer

Em “name” coloque “ADT Plugin” e em “location” adicione https://dl-ssl.google.com/android/eclipse/ e clique em “ok”

14/09/11 ENUCOMP - 2011

Page 56: Desenvolvimento de aplicações para a plataforma google android

Instalação do plugin ADT

Selecione “ADT Plugin” na lista de sites, marque a opção “Developers Tools” e clique em “next”.

14/09/11 ENUCOMP - 2011

Page 57: Desenvolvimento de aplicações para a plataforma google android

Instalação do plugin ADT

Irá aparecer uma lista com todos os item a serem instalados.

Clique em "Next" novamente. Na próxima tela, escolha a opção "I accept the the terms of the licence agreements" e clique em 'Finish'.

Após o processo de instação do plugin o Eclipse irá reiniciar.

14/09/11 ENUCOMP - 2011

Page 58: Desenvolvimento de aplicações para a plataforma google android

Instalação do plugin ADT

Quando o Eclipse IDE iniciar uma mensagem de erro irá aparecer, porque a IDE não consegue localizar o Android SDK

Vá em Window, Preferences, Android. Clique em 'Browse..‘, selecione a raiz do SDK e clique em 'OK‘.

14/09/11 ENUCOMP - 2011

Page 59: Desenvolvimento de aplicações para a plataforma google android

Criando uma ADV

Abra o “SDK e ADV Manager” e em Virtual Devices clique em “new”

14/09/11 ENUCOMP - 2011

Page 60: Desenvolvimento de aplicações para a plataforma google android

Criando uma ADV

Adicione as informações como na imagem e clique em “Create ADV”

14/09/11 ENUCOMP - 2011

Page 61: Desenvolvimento de aplicações para a plataforma google android

Criando uma ADV

Criamos uma ADV com o nome “enucomp”

Que possui o firmeware 2.2 e também possui o Secure Digital Card (SD) e o Skin Default Half-VGA – HVGA (320 x 480)

14/09/11 ENUCOMP - 2011

Page 62: Desenvolvimento de aplicações para a plataforma google android

Pronto! Nosso ambiente está pronto para desenvolvimento.

14/09/11 ENUCOMP - 2011

Page 63: Desenvolvimento de aplicações para a plataforma google android

Projeto “Meu HelloWord”

O plugin ADT vem com uma aplicação HelloWord de exemplo, vamos usá-la

Vá em “file” > “Project” > “new project”.

Vá em “android” > “android project” e clique em “next”

Em Project Name digite: HelloAndroid

No Build Target: Android 2.2

Application Name : Hello, Android

Package name: br.ifpi.edu.hello

Create Activity: Hello

E clique em “finish”

14/09/11 ENUCOMP - 2011

Page 64: Desenvolvimento de aplicações para a plataforma google android

Projeto “Meu HelloWord”

Um estrutura de diretórios como a mostrada abaixo será criada

14/09/11 ENUCOMP - 2011

Page 65: Desenvolvimento de aplicações para a plataforma google android

Projeto “Meu HelloWord”

Para executar clique com o botão direito em cima do projeto e escolha “run as” > “android application”

14/09/11 ENUCOMP - 2011

Page 66: Desenvolvimento de aplicações para a plataforma google android

Projeto “Meu HelloWord”

14/09/11 ENUCOMP - 2011

Page 67: Desenvolvimento de aplicações para a plataforma google android

ActivityActivity

III SACIC - 2011 6714/09/11 ENUCOMP - 2011

Page 68: Desenvolvimento de aplicações para a plataforma google android

ActivityUma tela pode ser criada de duas formas:

– Em um arquivo XML

– Direto em um arquivo Java usando a sua API

android.app.Activity:

– Similar à classe JFrame do Swing

– Representa, à priori, uma tela da aplicação

– Composta por vários componentes representados pela classe andoid.view.View (botões, checkboxes, imagens)

– Controla a passagem de parâmetros para outra tela

– Define métodos para tratar eventos dos componentes

14/09/11 ENUCOMP - 2011

Page 69: Desenvolvimento de aplicações para a plataforma google android

Activity

14/09/11 ENUCOMP - 2011

Page 70: Desenvolvimento de aplicações para a plataforma google android

View

São componentes simples (botões, checkboxes, imagens) ou componentes compostos

– Atuam como gerenciadores de layout

– Podem conter várias views filhas (outro componentes)

O arquivo main.xml é um arquivo de layout padrão

Vários layouts podemser definidos

14/09/11 ENUCOMP - 2011

Page 71: Desenvolvimento de aplicações para a plataforma google android

Setando a View Principal

O médoto setContentView faz a ligação entre a activity e a view

A view passada como parâmetro está definida no arquivo main.xml (pode ser mudado)

– é referenciada via o arquivo R.java como uma constante

14/09/11 ENUCOMP - 2011

Page 72: Desenvolvimento de aplicações para a plataforma google android

A classe R

14/09/11 ENUCOMP - 2011

Page 73: Desenvolvimento de aplicações para a plataforma google android

AndroidManifest.xml

Base da aplicação e semelhante ao web.xml de aplicações WEB

14/09/11 ENUCOMP - 2011

Page 74: Desenvolvimento de aplicações para a plataforma google android

AndroidManifest.xml

As Activities devem ser definidas no arquivo

Para que o usuário possa interagir, pelo menosuma Activity deve ser definida no arquivo

A configuração de uma Activity como ponto de partida para a aplicação é ilustrada abaixo:

14/09/11 ENUCOMP - 2011

Page 75: Desenvolvimento de aplicações para a plataforma google android

Criação de interface via Java

Pode-se definir uma interface visual via codificação java

14/09/11 ENUCOMP - 2011

Page 76: Desenvolvimento de aplicações para a plataforma google android

Referenciando componentes

Sempre que possível, atribua um ID aos componentes

14/09/11 ENUCOMP - 2011

Page 77: Desenvolvimento de aplicações para a plataforma google android

Referenciando componentes

Adicionar IDs aos componentes permitem acesso via codificação

14/09/11 ENUCOMP - 2011

Page 78: Desenvolvimento de aplicações para a plataforma google android

Tratando o clique de um botão

Para tratar eventos de um botão, deve-se:

– Obter o componente pelo ID

– Instanciar um listener

– Setar o listener no botão

– Implementar o método onClick

14/09/11 ENUCOMP - 2011

Page 79: Desenvolvimento de aplicações para a plataforma google android

Exemplo

14/09/11 ENUCOMP - 2011

Page 80: Desenvolvimento de aplicações para a plataforma google android

Gerando Logs

14/09/11 ENUCOMP - 2011

Page 81: Desenvolvimento de aplicações para a plataforma google android

Gerando Logs

Usa-se a classe Log e seus métodos estáticos:

14/09/11 ENUCOMP - 2011

Page 82: Desenvolvimento de aplicações para a plataforma google android

ComponentesComponentes

III SACIC - 2011 8214/09/11 ENUCOMP - 2011

Page 83: Desenvolvimento de aplicações para a plataforma google android

Roteiro

1. ScrollView;2. MapView;3. ListView;4. ImageView;5. ContextMenu;6. Autocomplete;7. Tables;8. Buttons (ImageButton, GroupButton, Button);9. “CSS”;10.Tratamento de eventos11.Apresentação de exemplos

14/09/11 ENUCOMP - 2011

Page 84: Desenvolvimento de aplicações para a plataforma google android

ScrollView

A classe android.widget.ScrollView deve ser utilizada para telas que contêm muitos elementos e nas quais seja necessário fazer a rolagem da tela.Exemplo

exemplo_scrollview.xml ExemploScrollView

14/09/11 ENUCOMP - 2011

Page 85: Desenvolvimento de aplicações para a plataforma google android

MapView

Para visualização de mapas;Para utilizar um MapView, basta definir a tag

<com.google.android.maps.MapView> e informar no atributo android:apiKey uma chave de autenticação válida para o Google Maps.

Exemplo Mapview.xml MapaSimplesXML

14/09/11 ENUCOMP - 2011

Page 86: Desenvolvimento de aplicações para a plataforma google android

ListView

Desenha os componentes em uma lista vertical e com barra de rolagem (scroll), se necessário.Necessita da classe android.app.ListActivity,

uma acitivy especial para exibir uma lista de itens na vertical.

Exemplo Prático! Pág. 113

14/09/11 ENUCOMP - 2011

Page 87: Desenvolvimento de aplicações para a plataforma google android

ImageView

Apresenta uma imagem que você selecionou.

14/09/11 ENUCOMP - 2011

Page 88: Desenvolvimento de aplicações para a plataforma google android

Context Menu

Menu contextuado que pode ser utilizado em qualquer momento de sua aplicação.Exemplo

Pág 253

14/09/11 ENUCOMP - 2011

Page 89: Desenvolvimento de aplicações para a plataforma google android

Autocomplete

Um recurso muito usado em aplicações web

São campos de texto que podem completar automaticamente o texto que o usuário está digitando.

Para usar o AutoCompleteTextView é necessário chamar o método setAdapter(adaptador) e informar sua implementação de ListAdapter.

Exemplo Pág 221

14/09/11 ENUCOMP - 2011

Page 90: Desenvolvimento de aplicações para a plataforma google android

Tabs

• Conceitos1. TabHost – Componente que agrupa os

butões e o contéudo

1. TabWidget – Grupa em linha os butões que possuem labels e ícones (opcional)

1. FrameLayout – Agrupa o conteúdo de uma aba

14/09/11 ENUCOMP - 2011

Page 91: Desenvolvimento de aplicações para a plataforma google android

Tabs

• Estrutura

14/09/11 ENUCOMP - 2011

Page 92: Desenvolvimento de aplicações para a plataforma google android

Usando TabActivity

• Crie uma nova Activity que extenda de TabActivity e implementa as interfaces OnTabChangeListener e TabContentFactory

14/09/11 ENUCOMP - 2011

Page 93: Desenvolvimento de aplicações para a plataforma google android

Usando TabActivity

• Crie dois novos layouts xml do android com os nomes tab1.xml tab2.xml e adicione um TextView a cada layout

• E altere o setContentView() das activitys Tab1.class e Tab2.class para eles.

14/09/11 ENUCOMP - 2011

Page 94: Desenvolvimento de aplicações para a plataforma google android

Nova tab pelo XML do Android

Crie um novo layout XML - tabs.xml

Crie uma nova acvitivy - Tabs.java que estenda de Activity

Adicione a activity ao AndroidManifest.xml

Altere o método setContentView(R.layout.tabs))

14/09/11 ENUCOMP - 2011

Page 95: Desenvolvimento de aplicações para a plataforma google android

Nova tab pelo XML do Android

Sua activity deve está assim

14/09/11 ENUCOMP - 2011

Page 96: Desenvolvimento de aplicações para a plataforma google android

Nova tab pelo XML do Android

Altere o arquivo tab.xml

14/09/11 ENUCOMP - 2011

Page 97: Desenvolvimento de aplicações para a plataforma google android

Nova tab pelo XML do Android

Altere o arquivo Tab.java

14/09/11 ENUCOMP - 2011

Page 98: Desenvolvimento de aplicações para a plataforma google android

Nova tab pelo XML do Android

Altere o arquivo AndroidManifest para que a activity Tabs.java seja iniciada no início da aplicação

14/09/11 ENUCOMP - 2011

Page 99: Desenvolvimento de aplicações para a plataforma google android

Buttons

As classes android.widget.Button e android.widget.ImageButton são utilizadas para criar um botão na tela.A diferença é que a classe ImageButton

permite usar uma imagem para desenhar no botão.

Exemplo Pág 223

14/09/11 ENUCOMP - 2011

Page 100: Desenvolvimento de aplicações para a plataforma google android

“CSS”

Podemos utilizar os arquivos XML como extensões de estilos que podem ser reutilizados em vários layouts, sem necessitar a repetição de código.Exemplo

Guia Turistico

14/09/11 ENUCOMP - 2011

Page 101: Desenvolvimento de aplicações para a plataforma google android

Ciclo de vidaCiclo de vida

III SACIC - 2011 10114/09/11 ENUCOMP - 2011

Page 102: Desenvolvimento de aplicações para a plataforma google android

17/05/11 III SACIC - 2011

Ciclo de vida de uma activity

14/09/11 ENUCOMP - 2011

Page 103: Desenvolvimento de aplicações para a plataforma google android

17/05/11 III SACIC - 2011

onCreate:

– Obrigatório e chamado uma única vez.

– Deve-se setar a view

• onStart: é chamado quando uma activity está ficando visível e já tem uma view definida

• onRestart: chamado quando uma activity foi parada temporariamente e está retornando à execução

• onResume:

– Quando uma activity está executando.

– Pode ser chamada também para recuperação de dados quando foi interrompida e volta a execução

Ciclo de vida de uma activity

14/09/11 ENUCOMP - 2011

Page 104: Desenvolvimento de aplicações para a plataforma google android

17/05/11 III SACIC - 2011

onPause: chamado quando a activity está sendo tirada do topo da execução. Usado para salvar o estado da aplicação

onStop:

– A aplicação não está mais visível e está em segundo plano.

– Caso fique por muito tempo em 2o Plano e falte recursos, o S.O. pode remover completamente da pilha de execução

onDestroy: encerra literalmente a activity

Ciclo de vida de uma activity

14/09/11 ENUCOMP - 2011

Page 105: Desenvolvimento de aplicações para a plataforma google android

Activities x IntentsActivities x Intents

III SACIC - 2011 10514/09/11 ENUCOMP - 2011

Page 106: Desenvolvimento de aplicações para a plataforma google android

Activities x Intents

Activities são as "telas"Uma aplicação pode ter várias activities:– geralmente independentes,– contudo elas podem precisar se cooperar e

trocar dados entre siNuma aplicação tradicional, uma activity deve

ser definida como "main" e será executada ao rodar a aplicação

Indo de uma activity para outra é possível pedindo para a atual executar uma intent

14/09/11 ENUCOMP - 2011

Page 107: Desenvolvimento de aplicações para a plataforma google android

Intents

14/09/11 ENUCOMP - 2011

Page 108: Desenvolvimento de aplicações para a plataforma google android

Intents

android.content.Intent

• Representa uma mensagem da aplicação para o S.O.

• Solicita que algo seja realizado e serve para integrar aplicações

• Ex:

– Chamar outra tela (já visto)

– Solicitar que o S.O. ligue para um número;

– Abrir o browser em um determinado endereço

– Exibir algum endereço, localização ou rota num mapa

– Executar processamento em segundo plano

– Enviar mensagem para outras aplicações realizarem tarefas específicas

14/09/11 ENUCOMP - 2011

Page 109: Desenvolvimento de aplicações para a plataforma google android

Intents

São chamadas pelos métodos:

startActivity(intent) = Executa uma activity

starActivityForResult(intent) = Executa uma activity quepode retornar valores

startService(intent) or bindService(intent, …) = Inicia ou se comunica comum serviço de segundo plano

sendBroadcast(intent) = Envia uma intent que podeser "capturada" por serviçosespecíficos

14/09/11 ENUCOMP - 2011

Page 110: Desenvolvimento de aplicações para a plataforma google android

Alguns tipos de Intents pré-definidos

14/09/11 ENUCOMP - 2011

Page 111: Desenvolvimento de aplicações para a plataforma google android

Permissões

Algumas intents necessitam de permissão explicita para executar

Deve-se adicionar as permissões no arquivo AndroidManifest.xml

14/09/11 ENUCOMP - 2011

Page 112: Desenvolvimento de aplicações para a plataforma google android

Usando Intents pré-definidas

14/09/11 ENUCOMP - 2011

Page 113: Desenvolvimento de aplicações para a plataforma google android

Algumas permissões

Permissão para executar navegação: INTERNET

Ligações telefônicas: CALL_PHONE

Leitura à lista de contatos: READ_CONTACTS

14/09/11 ENUCOMP - 2011

Page 114: Desenvolvimento de aplicações para a plataforma google android

Intent chamar navegador

Tipo ACTION_VIEW

...

Uri uri = Uri.parse("http://www.android.com");

Intent it = new Intent(Intent.ACTION_VIEW, uri);

startActivity(it);

...

É necessária a permissão INTERNET

14/09/11 ENUCOMP - 2011