Fala galera! Estou atualizando minhas publicações para melhorar a qualidade do blog.
Definição:
A classe Activity deve implementar obrigatoriamente o método onCreate(bundle) responsável por realizar a inicialização do aplicativo(se for a Activity princilal) ou outra Activity. Cada Activity deve ser declarada no arquivo AndroidManifest.xml como mostrado a seguir:
A Activity pode ser declarada na forma que está na imagem, definida como principal (a que inicia o app) ou como descrito abaixo:
<activity
android:name=”.MinhaClasseActivity”/>
Empilhamento de Activities:
Quando
a Activity atual chama outra a nova Activity é
colocada no topo da pilha, a Activity anterior permanece na
pilha mas é interrompida. Quando uma Activity para, o
OS mantém o estado atual IU(Interface de Usuário), ao pressionar o
botão voltar, a activity atual é retirada do topo da pilha
(destruída) e a atividade anterior retorna (o estado da IU é
restaurado). Activities na pilha nunca são reorganizadas
apenas entram e saem da pilha.
![]() |
Se
o usuário continua pressionando voltar, cada activity na pilha é
retirada mostrando a anterior até o usuário retornar à tela
inicial.
Ciclo de Vida:
Uma
Activity pode existir em trẽs estados:
-
Em Execução: a activity está em primeiro plano (topo da pilha(activity stack)) e tem o foco do usuário.
-
Pausada: A Activity está visível, mas outra activity está no topo da pilha e tem o foco, ou seja outra activity está visível acima desta. Uma activity pausada está totalmente ativa, mas pode ser elimidada pelo sistema em situações de memória crítica.
-
Parada: A activity passa para “segundo plano”. Uma activity ainda está ativa no entando ela não fica mais visível para o usuário e pode ser elimidada pelo SO se a memória for necessária em outro processo.
Se
uma activity estiver pausada ou interrompida, o SO poderá removê-la
da memória solicitando a finalização de processo (chamando o
método finish()) ou eliminando-o, ao reabrir a activity (depois de
finalizada ou destruída) ela será totalmente recriada.
![]() | ||
Fonte:
https://developer.android.com/guide/components/activities?hl=pt-br
|
Exemplo
Prático:
Abra
o Android Studio clique em “Start a new Android Studio Project”
ou se algum projeto estiver aberto clique em File > Close project
e na tela inicial clique em “Start a new Android Studio Project”
e preencha de acordo com a imagem e clique em Next:
- Application name: nome do projeto;
- Company domain: seu domínio, pode ser sua pagina web ou um fictício, define o pacote do projeto como visto em Package name;
- Project location: localização do projeto em seu pc;
Na
tela seguinte deixe marcado a opção “Phone and Tablet” e
selecionada a api mínima 19 (KitKat) e clique em Next:
Com
o projeto criado selecione res > layout e abra o
arquivo activity_main.xml, altere o layout de acordo
com a imagem:
Dentro
do método onCreate definimos um log(é similar ao
System.out.println do java) e um botão que ao
ser clicado pelo usuário abrirá o browser (navegador do
cel) na página do google como definido na imagem.
Crie
os métodos correspondentes ao ciclo de vida da Activity e em cada um
adicione um log:
Salve o projeto, clique em executar ou aperte shift+F10.
Ao
iniciar o app no log cat aparecerá as seguintes linhas:
Os
métodos onCreate, onStart e onResume foram
executados, criando, iniciando e mostrando a IU ao usuário. Ao
clicar em voltar no app as seguintes linhas aparecem no log cat:
Agora
os métodos onPause, onStop e onDestroy foram
executados, pausando, parando e destruindo a Activity,
ao clicar no icone do app na galeria de apps do emulador (não
executando pelo Android Studio) verá que as três linhas anteriores
são mostradas, pois o método onDestroy destruiu a Activity
e ela foi criada novamente executando o onCreate.
Com
o app aberto clique no botão para abrir o browser as seguintes
linhas são mostradas no logcat:
Apenas
os métodos onPause e onStop são chamados, ou seja a
Activity não foi destruida está em “segundo plano”,
ao clicar em voltar para fechar o browser e mostrar a tela do app
novamente vemos:
Veja
que os métodos onRestart, onStart e onResume
são chamados e a Activity é trazida ao “primeiro
plano” novamente.
Observação:
os métodos onCreate e onDestroy são chamados apenas
uma vez no ciclo de vida.
Até a proxima!
Nenhum comentário:
Postar um comentário