Buscar

Aula 11 Por dentro da Activity

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 44 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 44 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 44 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Prof. Milton Escóssia
2018
PROGRAMAÇÃO PARA 
DISPOSITIVOS MÓVEIS - CCT0080
Aula – 11 Por dentro da Activity
Activity
 Classe da API do Android utilizada para controlar o 
comportamento de uma tela.
 Realiza ações como exibir a tela da app, tratar eventos, navegar entre 
telas, etc. 
 Representa uma tela da aplicação.
 Define a tela (GUI) a ser exibida.
 Define métodos chamados para responder a eventos de tela.
 Controla o estado e eventos da tela.
A Classe Activity
 Classe Android usada para criar Telas personalizadas.
 Toda activity de um projeto deve especializar essa classe.
Activity
MinhaActivity
A Classe Activity
A Classe Activity
 Permite realizar tarefas como:
 Determinar qual interface gráfica será exibida ao usuário,
 Navegar entre telas,
 Passar parametros para outra tela,
 Receber dados de uma tela,
 etc.
A Classe Activity x AndroidManifest
 Cada Activity de um projeto Android deve estar
declarado no arquivo “AndroidManifest.xml”.
 Pode-se especificar um ícone ou um tema para estilizar a 
interface de usuário.
 O atributo android:name é o único obrigatório. É utilizado para 
especificar o nome de classe.
A Classe Activity x AndroidManifest
 A tag <intent-filter> é utilizada para definir caracteristicas
da Activity.
 Ex: o tipo de ação e categoria que ela pertence.
 A tag <action> especifica que a Activity é o “principal” ponto de 
entrada do aplicativo. 
 A tag <category> especifica que a Actvity deve aparecer no menu do 
sistema operacional Android. 
 Só uma Activity deve ter a ação “main” e a categoria 
“launcher”.
A Classe Activity x AndroidManifest
AppCompatActivity x Activity
 Classe que pertence a uma biblioteca a parte do Android.
 Sua dependência necessita ser declarada no Gradle.
 A classe Activity é a classe base para todas as outras 
activities (incluíndo a classe AppCompatActivity). 
 A classe AppCompatActivity é uma especialização da 
classe Activity.
 Pertence ao pacote android.support.v7.app.
 Possui os mesmos métodos da Activity.
 Provê suporte aos recursos de ActionBar (support library
action bar features). 
Métodos Importantes da Classe Activity
 Fornece um conjunto de metodos utilizados no gerenciamento
de uma Activity, tais como:
 void setContentView( view )
 View findViewById( int )
 void finish( )
 void startActivity( Intent )
 Intent getIntent( )
 etc.
Iniciando e Finalizando uma Activity
 Uma Activity é inicializada pelo método onCreate( )
 Método obrigatório em uma Activity.
 Responsavel em tratar os eventos gerados pelo usuario.
 Contém as instruções para inicialização de recursos.
 Solicita a criação da tela com “setContentView( )”
 O método finish( )
 Encerra a execução da Activity.
 Elimina a activity da memória.
 Internamente faz chamada ao método onDestroy( ) do ciclo de vida
da Activity.
A Pilha de Atividades
 Para cada aplicativo que está sendo executado em um 
dispositivo Android, o sistema de operacional mantém 
uma Pilha de Activities (Android Stack). 
 Quando uma aplicação é iniciada, a primeira Activity do 
aplicativo é colocada na pilha.
 Quando uma segunda Activity é iniciada, ela é colocada no 
topo da pilha ficando ativa (em execução) e a anterior é 
empurrada para baixo. 
 Quando a Activity ativa sai, ela é retirada da pilha e a anterior 
localizada imediatamente abaixo dela na pilha se torna ativa.
A Pilha de Atividades
 A Activity pode ser removida da stack Activity quando o 
usuário aperta o botão “Back Key” (voltar) para voltar a 
tela anterior.
 Isso faz com que a Activity atual seja retirada da pilha pelo 
sistema sendo destruida.
A Pilha de Atividades
 A Activity no topo dessa pilha representa a activity em
execucao.
 Se exisitem outras activities, essas podem estar:
 Em execucao em 2o plano;
 Pausado;
 Totalmente parado.
 Uma activity pausada pode ser
encerrada pelo S.O. para liberar
recursos e memoria para outras
activities.
A Pilha de Atividades
A Pilha de Atividades
Ciclo de Vida de uma Activity
 Toda Activity possui inicio, meio e fim.
 O conjunto de etapas executadas durante a “vida” de uma
Activity e chamada de Ciclo de Vida da Activity.
 O S.O. é quem gerencia o ciclo de vida da Activity.
Estados da Activity x Ciclo de Vida da 
Activity
Ciclo de Vida de uma Activity
Métodos do Ciclo de Vida
 onCreate():
 Método obrigatório.
 E invocado uma única vez. 
 Em geral, define o View(layout) da Activity. 
 É usado para iniciar outras partes estáticas da Activity.
 Em seguida é invocado o onStart.
Métodos do Ciclo de Vida
 onStart():
 É chamada imediatamente após a onCreate().
 Também e chamado quando uma Activity volta a ter foco.
 É executado depois da Activity ser enviada para o segundo plano. 
 Método para se certificar de que todos os recursos requeridos 
continuam disponíveis. 
 Ex: se estiver usando o GPS, o onStart é um bom lugar para se certificar 
de que o GPS estará disponível.
Métodos do Ciclo de Vida
 onResume():
 Sempre invocado quando a Activity recebe o foco novamente.
 Método usado para obter Intents e dados extras.
 onPause():
 É acionado, quando a Activity deixa o primeiro plano.
 A App está parcialmente visível.
 Salva o estado da aplicação, quando o celular entra em modo de 
espera por exemplo.
 Método usado para parar animações, salvar dados e liberar 
recursos do sistema. Tudo que for liberado nesse método deverá 
ser reconfigurado no método onResume.
Métodos do Ciclo de Vida
 onStop():
 Quando a mesma está sendo encerrada e não fica mais visivel ao 
usuário.
 Método usado para liberar todos os recursos que não são mais 
utilizados pelo usuário.
 onDestroy():
 Chamado antes da Activity ser destruída (removida da memória). 
 Ex: quando solicitado a finalizacao da Activity.
 Pode ser invocado pelo sistema operacional, se for necessário desalocar
recursos da memória.
 onRestart():
 Chamado quando uma Activity volta depois de ficar fora temporariamente.
 Invoca o método onStart.
Ciclo de Vida de uma Activity
Subniveis do Ciclo de Vida Principal
 Ciclos repetidos ao longo da execução de uma aplicação:
 Entire lifetime
 Visible lifetime
 Foreground lifetime
Subníveis do Ciclo de Vida de uma Activity
onCreate
onStart( )
onResume( )
onPause( )
onStop( )
onDestroy( )
Entire Lifetime
Visible Lifetime Foreground Lifetime
Fluxo entre od Subníveis do Ciclo de Vida 
de uma Activity
Entire Lifetime
 Ciclo de vida completo.
 Vai do inicio a destruicao da aplicacao.
 E executado apenas 1 vez.
 Define o tempo de vida completa de uma Activity.
 Ocorre entre: onCreate( ) –> onDestroy()
 Na execucao do metodo onCreate(), a Activity ainda nao esta visivel ao
usuario.
Visible Lifetime
 Activity esta iniciada (em 1o ou 2o plano).
 Em 1o plano quer dizer que esta no topo da Android Stack.
 Ocorre entre: onStart() – onStop()
 A activity esta visivel ao usuario.
 Os metodos do ciclo de vida podem ser chamados 
diversas vezes.
 Obs:
 Ao executar o onStart(), o onResume() e automaticamente 
invocado.
Foreground Lifetime
 Activity esta no topo da Android Stack (em 1o plano).
 Ocorre entre: onResume() – onPause()
 A activity esta visivel ao usuario.
 A activity pode alterar entre executando - pausado.
 Obs: 
 O codigo desses metodos devem ser leves e rapidos.
Destruicao de uma Activity pelo S.O.
 Durante a execucao dos metodos:
 onPause()
 onStop()
 onDestroy() Uma Activity pode ser destruida pelo S.O. para liberar
recursos, caso existam condicoes criticas.
Logging da aplicacao
 Se refere a emissão de mensagens para uma unidade de saida.
 Utiliza-se os metodos estaticos da classe Log, do pacote
“android.util”
 Esses metodos permitem emitir diversos tipos de mensagens
de log.
 O System.out.println( ) do Java corresponde ao Log do 
Android.
Tipos de Log
Nivel Sigla Cor
Debug d azul
Verbose v Preto
Info i Verde
Warn w Laranja
Error e Vermelho
 As mensagens podem ser emitidas segundo seu nivel
de severidade:
LogCat
 Ferramenta do Android para visualização de Log’s gerados por
uma aplicação.
 Corresponde a janela “Console” do Eclipse.
 Gerencia todos os logs emitidos pelo Android
Visualizando a janela LogCat
A janela LogCat
Exemplo: Emitindo mensagens de Log
 Tela:
Emitindo mensagens de Log
 Resultado:
Emitindo mensagens de Log
 Codigo:
Exercício 2
 Crie um projeto Android com 3 botões.
 O 1o botão: “Informacoes” - deve enviar uma mensagem do tipo 
“Info” ao LogCat.
 O 2o botão: “Alerta” - deve enviar uma mensagem do tipo 
“Warn” ao LogCat.
 O 3o botão: “Erro” - deve enviar uma mensagem do tipo “Error” 
ao LogCat.
 O 4o botão: “Depuracao” - deve enviar uma mensagem do tipo 
“Debug” ao LogCat.
 O 5o botão: “Verbose” - deve enviar uma mensagem do tipo 
“Verbose” ao LogCat.
 O 6o botão: “Fechar” deve encerrar a aplicacao.
Exercício 2
 Tela (Activity) Desejada:
Exercício 2
 Resultado desejado ao clicar na sequencia dos botoes:
Exercício 3
 Crie um projeto que emita mensagens de Log em cada etapa
do ciclo de vida de uma Activity.
 1. Analisar o log da aplicação quando você mudar a orientação da 
tela.
 2. Ao executar outra aplicação sobre a sua.
Exercício 4
 Crie um projeto que emita mensagens de Log em cada etapa
do ciclo de vida de uma Activity. Em seguida simule o
recebimento de uma ligação telefônica e avalie o
comportamento do ciclo de vida a Activity.

Outros materiais