101
Desenvolvimento de Apps e Games para Android Por Erisvaldo Júnior. Parte 1 (06/09/2011)

Desenvolvimento de Apps e Games para Android - Parte 1

Embed Size (px)

DESCRIPTION

 

Citation preview

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

Desenvolvimento de

Apps e Games para Android

Por Erisvaldo Júnior. Parte 1 (06/09/2011)

Page 2: Desenvolvimento de Apps e Games para Android - Parte 1
Page 3: Desenvolvimento de Apps e Games para Android - Parte 1
Page 4: Desenvolvimento de Apps e Games para Android - Parte 1
Page 5: Desenvolvimento de Apps e Games para Android - Parte 1
Page 6: Desenvolvimento de Apps e Games para Android - Parte 1
Page 7: Desenvolvimento de Apps e Games para Android - Parte 1
Page 8: Desenvolvimento de Apps e Games para Android - Parte 1

Roteiro da Aula

Bem vindo ao mundo da mobilidade

MERCADO E

PLATAFORMAS

O ANDROID HOJE E AMANHÃ

ARQUITETURA DO ANDROID

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

MERCADO E PLATAFORMAS

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

Org

aniz

e w

ith

Se

ctio

ns

O Mercado Mobile

Mercado brasileiro de telefonia móvel; Números do mercado internacional; Mercado de jogos (Brasil e mundo).

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

Celulares no Brasil (2007 a 2009)

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

Market Share das operadoras no Brasil (2007 a 2009)

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

Mercado brasileiro de celulares (2010)

202 milhões e 944 mil celulares Crescimento de 16,7%; 104,7 celulares a cada 100 habitantes. Operadoras Vivo - 29,7% Claro - 25,4% TIM – 25,1% Oi – 19,4%

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

Celulares no mundo (2000 a 2009)

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

Principais mercados de celular no mundo (2008 e 2009)

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

Operadoras de telefonia no mundo (2008 e 2009)

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

Market Share dos fabricantes (2005 a 2007)

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

Market Share dos fabricantes (2009 e 2010)

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

Mercado americano de jogos para dispositivos móveis

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

Mercado mundial de jogos para dispositivos móveis

Gartner

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

SOs para Desenvolvimento (no Presente)

iOS Android

RIM SYMBIAN

PALM OS Windows Mobile MAEMO

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

Android (Open Handset Alliance, liderada pelo Google)

Plataforma aberta baseada em Linux; Android Development Tools (ADT) Plugin para Eclipse; Desenvolvimento em Java (Linux / Windows / Mac OS); 1º smartphone: HTC G1 (2008); 1º tablet: Samsung Galaxy Tab (2010).

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

iOS (Apple)

iPod, iPhone (2007) e iPad (2010); Baseado no Mac OS X (Objective-C); Kit de desenvolvimento exclusivo para Mac OS; Aplicativos exclusivamente na Apple App Store.

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

Plataformas para Desenvolvimento (no Presente)

JavaME

PyS60

BREW

Qt

Flash Lite

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

JavaME

Quase 2 bilhões de aparelhos; Grande comunidade de desenvolvedores; Atingiu 95% dos aparelhos em 2007.

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

Comparativo entre JavaME e Flash Lite

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

Comparativo entre Tecnologias

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

SOs para Desenvolvimento (Apostas para o Futuro)

Windows Phone 7

MeeGo BADA

Windows 8

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

Mercado de Smartphones em 2010

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

Mercado de Smartphones em 2010

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

Mercado de Smartphones em 2010

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

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 33: Desenvolvimento de Apps e Games para Android - Parte 1

Lojas de Aplicativos para Dispositivos Móveis (App Stores)

Modelo Antigo (antes das App Stores)

Desenvolvedor / Pequena Empresa

Publisher / Grande Empresa Operadoras

A porcentagem final para o desenvolvedor independente ou pequena empresa acabava sendo menor que 20% do total.

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

Lojas de Aplicativos para Dispositivos Móveis (App Stores)

Novo Modelo (era das App Stores)

Desenvolvedor / Empresa

Loja de aplicativos do Fabricante ou Operadora

A porcentagem final para o desenvolvedor independente ou empresa agora gira em torno de 70% do total.

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

Apple App Store Loja de aplicativos para iOS (iPod, iPhone e iPad) gerenciada pela Apple e disponível através dos próprios aparelhos. Lançada em julho de 2008;

340 mil aplicativos e 10 bilhões de downloads até janeiro de 2011; Disponível em cerca de 90 países; Share de 70% Desenvolvedor e 30% Apple; Desenvolvedor paga inscrição e anuidade no valor de U$ 99,00.

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

Google Android Market Loja de aplicativos para Android gerenciada pela Google e disponível através dos próprios aparelhos. Lançado em outubro de 2008;

Mais de 200 mil aplicativos e 3 bilhões de downloads até janeiro de 2011; Disponível em cerca de 48 países; Share de 70% Desenvolvedor e 30% Google; Desenvolvedor paga taxa única de inscrição no valor de U$ 25,00.

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

Comparativo Android Market X Apple App Store Dados referentes ao ano de 2009, quando a distância entre Android Market e a Apple App Store ainda era muito grande.

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

Comparativo Android Market x Apple App Store A média de downloads da Apple App Store é superior a do Android Market, bem como a porcentagem de usuários que compram aplicações (dados de 2009).

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

Nokia Ovi Store Loja de aplicativos para dispositivos Nokia (Symbian, QT, Flash Lite e JavaME) e disponível através dos próprios aparelhos.

Lançada em maio de 2009; 50 mil aplicativos e média de 3 milhões de downloads por dia (janeiro de 2011); Disponível em mais de 200 países; Share de 70% Desenvolvedor e 30% Nokia; Desenvolvedor paga taxa única de inscrição de apenas 1 (um) euro.

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

Comparação entre App Stores (custo para desenvolvedores)

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

Relação de App Stores (distimo.com)

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

Amazon App Store (março / 2011)

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

Mercado de Apps: In-App Billing é uma tendência Jogos e aplicativos são gratuitos à priori, embora vários recursos possam ser comprados dentro do próprio app.

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

Android Market oferece serviço de In-App Billing Pode-se vender conteúdo digital dentro do aplicativo, como itens ou fases de jogos e funcionalidades extras para aplicativos. O share é de 70% para o desenvolvedor e 30% para a Google em cima do valor da venda.

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

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

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

Google App Inventor for Android Orientado a blocos, basta definir as suas propriedades visuais e as suas ações para determinados eventos.

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

Google App Inventor for Android

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

O ANDROID HOJE E AMANHÃ

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

Definição do Android

Pilha de Software para Dispositivos Móveis que inclui um Sistema Operacional, um Middleware e aplicações-chave. O Android SDK provê ferramentas e APIs para o desenvolvimento de aplicações na plataforma Android usando a linguagem de programação Java.

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

Recursos do Android

• Biblioteca Gráfica 2D e Suporte a 3D (OpenGL ES); • SQLite; • Mídias diversas (MPEG-4, H.264, MP3, AAC, AMR, JPG, PNG, GIF); • Bluetooth, EDGE, 3G e WiFi (dependente do hardware); • Câmera, GPS, Bússola e Acelerômetro (dependente do hardware); • Desenvolvimento: Android Development Tools (ADT) para Eclipse.

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

Arquitetura do Android

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

Componentes de Aplicações

Activity

Broadcast Receiver

Content Provider

Service

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

História do Android – 2005 a 2007

Julho de 2005: Google comprou a startup Android; Novembro de 2007: Google anunciou a Open Handset Alliance (OHA) e o Android; Ainda nesse mês, liberou a primeira versão do Android SDK.

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

História do Android - 2008

Outubro de 2008: Android se torna Open Source; Ainda nesse mês, lançado o primeiro smartphone com Android: o HTC G1; Lançado o primeiro Android Developer Phone (ADP), baseado no G1.

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

História do Android - 2009

Julho de 2009: HTC Hero, concorrente direto do iPhone; Novembro de 2009: Motorola Droid, 1 milhão de unidades em pouco mais de dois meses; Chegou no Brasil como Motorola Milestone e foi sucesso de vendas.

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

História do Android - 2010

Em 2010, dezenas de ótimos smartphones Android foram lançados; Setembro de 2010: Samsung Galaxy Tab, primeiro tablet a concorrer com o iPad; Dezembro de 2010: Quarto ADP lançado, o Samsung Nexus S.

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

História do Android - 2011

Lançamento dos primeiros tablets com o Android 3 (Honeycomb); Gingerbread parece ser o fim da linha para smartphones Android 2.x; Anúncio do Android Market para Google TV (Android 3.1); Possível lançamento do Ice Cream Sandwich (Android 4) + quinto ADP, o Nexus Prime.

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

Versões do Android

AndroidManifest.xml

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

Android 1.1 (fevereiro de 2009)

• Aplicativos e funcionalidades básicas

Android 1.5 Cupcake (maio de 2009)

• Interface remodelada • Gravação de vídeos • Conexão Bluetooth Automática • Upload de vídeos para YouTube e Picasa • Copiar e Colar

Android 1.6 Donut (setembro de 2009)

• Novo Android Market • Integração de câmera e galeria • Busca por gestos e voz

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

Android 2.0/2.1 Eclair (outubro de 2009) • Suporte avançado para múltiplas resoluções e telas • Suporte ao Exchange • Live wallpapers

Android 2.2 Froyo (maio de 2010) • Flash 10 • Desempenho bastante otimizado (até 5x) • Hotspot para até 8 aparelhos • Salvar aplicativos no cartão de memória • Discagem por bluetooth

Android 2.3 Gingerbread (dezembro de 2010)

• Suporte a NFC • Teclado multitouch • Suporte a SIP • Gerenciador de Downloads • Suporte a câmera frontal e vídeo-conferência

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

NFC

(N

ear

Fie

ld C

om

mu

nic

atio

n) Pacote android.nfc

Permite a comunicação entre dispositivos (iniciador e alvo) com distância de centímetros. O alvo é uma tag RFID ou peer-to-peer.

Pagamento pelo celular

Ingressos para shows

Troca de informações

Chaves

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

SIP

(Se

ssio

n In

itia

tio

n P

roto

col)

Pacote android.net.sip Android provê uma API que permite a realização de chamadas através do protocolo SIP. Pode ser usado para videochamadas ou mensageiros instantâneos.

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

No

vid

ade

s d

o A

nd

roid

3 Novos recursos para o Usuário

Sistema remodelado e otimizado para os tablets

• System Bar • Action Bar • 5 Homes Customizáveis • Aplicações recentes

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

Novos recursos para o Usuário

• Novo Teclado • Manipulação de Textos • Mais conectividade • Aplicações-chave melhores

No

vid

ade

s d

o A

nd

roid

3

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

Novos recursos para o Usuário Aplicações-chave foram aperfeiçoadas

No

vid

ade

s d

o A

nd

roid

3

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

Novos recursos para o Desenvolvedor Novo framework de UI, refinado para tablets • Fragmentos

• Widgets remodelados • Action Bar customizável • Notificações mais ricas • Seleção múltipla, clipboard e recurso de drag-and-drop

No

vid

ade

s d

o A

nd

roid

3

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

Novos recursos para o Desenvolvedor • Novo e flexível Framework de animação • Aceleração gráfica 2D por hardware • Renderscript (engine 3D) • Suporte a múltiplos processadores • HTTP Live streaming (M3U) • Framework de DRM • Transferência de arquivos de mídia (MTP/PTP) • Mais opções de conectividade • Segurança para ambientes corporativos • Compatibilidade com aplicações existentes

No

vid

ade

s d

o A

nd

roid

3

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

Novo Android Market Google, como já fazia a Apple, passa a oferecer não só Apps, como também livros, músicas e aluguel de filmes.

Go

ogl

e M

ovi

es,

Bo

oks

e M

usi

c

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

Go

ogl

e W

alle

t (A

nd

roid

2.3

+)

Cartões de Crédito, Cupons, Documentos e até chaves no seu smartphone

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

Principais recursos

Pagamentos Compras

Coletivas Segurança

Go

ogl

e W

alle

t (A

nd

roid

2.3

+)

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

A revolução do pagamento móvel

Observe o símbolo

para checkout

Toque o smartphone

no leitor

Go

ogl

e W

alle

t (A

nd

roid

2.3

+)

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

Outro patamar para compras coletivas

Todos os cupons agora cabem no seu bolso

Go

ogl

e W

alle

t (A

nd

roid

2.3

+)

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

Segurança elevada

Código PIN protege a sua carteira digital

Go

ogl

e W

alle

t (A

nd

roid

2.3

+)

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

Onde e como usar hoje?

Go

ogl

e W

alle

t (A

nd

roid

2.3

+)

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

Android@Home

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

Google TV terá Android Market ainda em 2011 Desenvolvedores poderão distribuir seus aplicativos para serem executados na Google TV, que terá Android Market embutido.

Google TV Google TV Remote (iOS / Android)

Go

ogl

e T

V (

An

dro

id 3

.1)

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

Não tem touch, mas tem teclado.

Go

ogl

e T

V (

An

dro

id 3

.1)

App “Google TV Only”

Caso se declare a tag abaixo, o App NÃO

aparecerá no Google TV Market.

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

E a Yupi?

Um pé no presente e outro no futuro.

Page 79: Desenvolvimento de Apps e Games para Android - Parte 1
Page 80: Desenvolvimento de Apps e Games para Android - Parte 1
Page 81: Desenvolvimento de Apps e Games para Android - Parte 1
Page 82: Desenvolvimento de Apps e Games para Android - Parte 1
Page 83: Desenvolvimento de Apps e Games para Android - Parte 1
Page 84: Desenvolvimento de Apps e Games para Android - Parte 1

Possuídos vai

começar em 10

minutos.

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

ARQUITETURA DO ANDROID

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

Arquitetura do Android

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

Arquitetura do Android

Applications Conjunto de aplicações-chave nativas do Android, incluindo um cliente de e-mail, gerenciador de SMS, calendário, mapa, navegador, gerenciador de contatos e outros. Todas essas aplicações foram escritas em Java. Application Framework

Desenvolvedores tem acesso completo às mesmas APIs que as aplicações-chave. O framework provê um conjunto de Views que podem ser utilizados para construir a interface da aplicação, incluindo listas, tabelas, caixas de texto, botões e até mesmo um browser embutido. Disponibiliza também Content Providers que permitem o acesso a dados de outras aplicações (como o gerenciador de Contatos). Há, ainda, o Resource Manager (provê acesso a recursos como imagens e arquivos de layout), o Notification Manager (permite que a aplicação mostre avisos personalizados) e o Activity Manager (gerencia o ciclo de vida da aplicação e a sua navegação).

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

Arquitetura do Android

Libraries Conjunto de bibliotecas C/C++ utilizadas por vários componentes do Android. Essas bibliotecas provêem recursos que são expostos aos desenvolvedores através de sua camada sobrejacente: Application Framework. Android Runtime

Cada aplicação no Android roda em um processo diferente no Linux e para cada processo é criada uma instância da máquina virtual Dalvik. Essa máquina virtual foi criada de forma que um dispositivo possa executar múltiplas instâncias de forma eficiente. As classes compiladas da aplicação são transformadas para o formato .dex (Dalvik Executable), otimizado para uma mínima utilização de memória. A Dalvik VM interage diretamente com o kernel Linux para execução de funcionalidades subjacentes como tratamento de concorrência e gerenciamento de memória.

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

As aplicações são escritas em Java e o seu código compilado, juntamente com os recursos que a aplicação utilizada, são empacotados em um arquivo .apk pela ferramenta aapt. É esse arquivo .apk que é usado para distribuir a aplicação e instalá-la nos dispositivos Android;

Por padrão, cada aplicação é executada como um processo separado, com ID único e máquina virtual própria, isolando o seu código das demais aplicações.

Noções sobre aplicações Android

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

Componentes da Aplicação

Um recurso fundamental do Android é o reuso de componentes. Caso uma aplicação precise disponibilizar uma lista de imagens com scrolling e outra aplicação apresenta tal componente e o disponibilizou para as demais, pode-se invocar esse componente.

Devido a essa organização dos aplicativos em componentes, as aplicações Android não possuem um único ponto de entrada (não há um método main(), por exemplo). Ao invés disso, as aplicações apresentam componentes essenciais que o sistema pode instanciar e executar quando necessário. Esses componentes podem ser de quatro tipos:

Activities (apresenta uma interface visual para o usuário) Services (roda em segundo plano por um período de tempo indeterminado) Broadcast Receivers (recebe e reage a eventos do sistema) Content providers (dados do aplicativo disponíveis para os demais)

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

Ativando e desativando componentes

Content Providers são ativados por meio de uma requisição de um ContentResolver. Os demais componentes (Activities, Services e Broadcast Receivers) são ativados por mensagens assíncronas denominadas intents. Trata-se de um objeto da classe Intent que armazena o conteúdo da mensagem. Para activities e services, o objeto apresenta o nome da ação que está sendo requisitada bem como o endereço do dado em que atuará, além de outras coisas. No caso de uma Activity, por exemplo, pode conter uma requisição para apresentar uma imagem ao usuário ou permitir que o usuário edite algum texto. Já para Broadcast Receivers, o objeto Intent pode anunciar que um botão da câmera foi pressionado, por exemplo.

Content Provider e BroadCast Receiver não precisam ser desativados, uma vez que permanecem ativos somente enquanto estão respondendo requisições. Já Activities e Services podem permanecer em execução por um longo período de tempo, daí a necessidade de finalizá-los através dos métodos finish() e stopSelf(), respectivamente.

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

Activities

O componente mais comum de uma aplicação é um Activity. É implementado como uma subclasse de Activity e uma aplicação pode conter uma ou mais activities. Cada qual representa uma interface visual e uma delas é marcada como sendo a inicial que deve ser apresentada quando a aplicação é iniciada. Mover-se de uma Activity para outra consiste em fazer com que a Activity atual invoque a próxima.

Cada Activity possui uma janela padrão para desenhar. Normalmente a janela ocupa a tela toda mas também pode ser menor e flutuar sobre outras janelas. Uma Activity pode conter janelas adicionais, como por exemplo um dialog que exige uma resposta do usuário ou mostra um aviso quando um dado item é selecionado.

O visual da janela é composto por uma hierarquia de views, objetos derivados da classe base View. As views também são responsáveis por responder às ações do usuário direcionadas ao seu espaço.

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

Activities e Tasks

Conforme dito anteriormente, uma Activity pode iniciar outra, inclusive uma que pertença a outro aplicativo. Por exemplo: uma aplicação deseja mostrar o mapa de algum local. Já existe uma Activity que o faz, então tudo o que a sua Activity precisa fazer é chamar o método startActivity() passando como parâmetro o objeto da classe Intent com as informações necessárias. O mapa será mostrado e, quando o usuário pressionar a tecla voltar, sua Activity será mostrada novamente na tela.

Para o usuário, isso é transparente. O Android mantém ambas as activities na mesma Task. Uma Task, para o usuário, é como se fosse uma aplicação. Tecnicamente é um grupo de Activities relacionadas que foram adicionadas em uma pilha. A base da pilha é a primeira Activity que é mostrada quando a Task é iniciada, enquanto que o topo é a Activity que está sendo executada no momento, ou seja, que está recebendo o foco das ações do usuário.

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

Ciclo de vida de uma Activity

Basicamente, uma Activity possui três estados:

Ativo: quando a Activity está no topo da pilha (visível na tela e recebendo as ações do usuário); Pausado: quando a Activity perdeu o foco mas permanece visível ao usuário. Ou seja, há outra Activity no topo que é transparente ou não ocupa toda a tela; Parado: quando a Activity está ofuscada por outra. Mantém o estado mas pode ser eliminada pelo sistema em caso de falta de memória.

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

Ciclo de vida de uma Activity

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

Services Diferentemente de activities, os services não possuem interface e executam em segundo plano por um período de tempo indeterminado. Cada serviço é uma classe que herda de Service.

Um exemplo clássico de Service é um tocador de músicas. A aplicação deve consistir de uma ou mais activities que permitem ao usuário selecionar as músicas e começar a tocá-las. Contudo, a execução das músicas em si não faz parte da Activity mas sim de um Service, uma vez que o usuário espera que a música continue a ser tocada após sair da tela.

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

Ciclo de vida de um Service

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

Broadcast Receivers

Componente que recebe e reage a anúncios de broadcast, geralmente oriundos do sistema. Cada receiver é uma classe que herda de BroadCastReceiver.

Mudança no fuso horário, anúncio de bateria fraca e mudança da linguagem por parte do usuário são exemplos de anúncios que podem ser capturados por Broadcast Receivers. Uma aplicação pode conter quantos receptores quiser. Os receptores podem iniciar uma Activity ou utilizar o NotificationManager para alertar o usuário (acender a luz do aparelho, vibrar, executar um som, etc).

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

Ciclo de vida de Broadcast Receivers

Quando uma mensagem de broadcast chega ao receptor, o Android invoca o método onReceive(), passando como parâmetro um objeto Intent contendo a mensagem.

O Broadcast Receiver fica ativo apenas enquanto está executando esse método.

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

Content Providers

Componente que torna um conjunto específico de dados da aplicação disponível para outras aplicações. Cada provider é uma classe que herda de ContentProvider e disponibiliza um conjunto padrão de métodos para que outras aplicações possam recuperar e armazenar dados do tipo que o provedor controla.

As aplicações não podem acessar os métodos de um Content Provider diretamente. Para isso, elas precisam de um objeto ContentResolver, o qual pode conversar com qualquer Content Provider.

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

obrigado

• e-mail: [email protected]

• web: http://erisvaldojunior.com

• twitter: @erisvaldojunior