Activity em Android

Elisa Capololo
5 min readOct 9, 2018

Quando usamos um aplicativo, toda a parte que interage com o usuário é uma activity. No Android a forma de interagir com as diferentes telas vi-venciam um ciclo de vida, podemos chamar ciclo de vida das activity.

Uma Activity é um módulo único e independente que normalmente está relacionada directamente com uma tela de interface de usuário e suas funcionalidades correspondentes.

O que é necessário saber sobre activity?

Quando se trabalha com Activity no Android, o desenvolvimento de telas é o minimo que você precisa saber. Mas, Activity é muito mais que isso. Entender o ciclo de vida de uma Activity, é parte fundamental para começar a desenvolver para Android.

Imagine que sua aplicação seja interrompida de forma inesperada, seja por que o usuário abriu uma outra Activity ou até mesmo quando o Android finaliza a mesma quando vê a necessidade de utilizar mais memória. Desta forma, é preciso entender cada ciclo de vida de uma Activity.

Como criar uma Activity

Para criarmos uma Activity é necessário estendermos a classe Activity, ou uma de suas implementações como, AppCompatActivity ou ListActivity. Isso serve para que nossa classe herde todas as características das Activity, caso contrário, ela seria apenas uma classe qualquer do Java. Depois, obrigatoriamente, precisamos sobreescrever o método onCreate para implementar a criação da nossa classe. Veja exemplo abaixo.

Criação de uma Activity

Quando sobreescrevemos o método onCreate, a primeira coisa que fazemos é chamar o próprio método da classe mãe super.onCreate(savedInstanceState), para que a base de seja criada.

Repare que o método onCreate recebe um parametro do tipo Bundle, ele é responsável por guardar o estado da Activity quando ela é reiniciada, como se fosse um cache.

A próxima linha setContentView(R.layout.activity_principal), é responsável por configurar o layout XML na nossa Activity e definir todos os elementos de interface do usuário, tais como o EditText e Buttons.

Por fim, todas nossas Activity criadas devem ser registradas no AndroidManifest.

Chamando uma Activity

Normalmente quando desenvolvemos nossos aplicativos Android nós criamos várias Activity e obviamente queremos que uma chame com a outra para criar um fluxo de telas em nosso aplicativo. Para isso utilizamos as Intents, nós dizemos para o sistema operacional do Android que temos a intenção de chamar outra Activity. Veja abaixo.

Ciclo de vida de um Activity

Como já foi dito mais a cima, os Activity tem um ciclo de vida durante a comunicação usuário e aplicativo, neste mesmo ciclo é nos apresentado diferentes estados que Activity pode vir a apresentar. Estes estados podem ser criados, iniciados, pausados e destruídos.

Esse ciclo é importante, porque cada ponto dele fornece uma oportunidade de colocar uma determinada acção. Pode ser uma configuração quando uma Activity é iniciada ou a limpeza de variáveis e objectos quando ela é pausada.

A Activity é configurada no momento que é criada, após isso, ela é iniciada, e fica visível para o usuário, assim como quando é reiniciada após ser pausada. Uma Activity pausada pode ser parcialmente visível, por exemplo, quando é vista atrás de uma janela de diálogo. Quando é interrompida, não fica visível para o usuário. Por último, ela será destruída. Para cada um desses estados, existe um método de retorno dentro da Activity, sendo eles: onCreate, onPause, onResume, onStop e onDestroy.

Métodos das Activity

Métodos das Activity

onCreate() — É a primeira função a ser executada em uma Activity, geralmente é a responsável por carregar os layouts XML e outras operações de inicialização. É executada apenas uma vez. O método onCreate é usado para configurar a interface de usuário, usando setContentView, e para iniciar outras partes estáticas da Activity.

onStart() — É chamada imediatamente após a onCreate(), e também quando uma Activity que estava em background volta a ter foco. Isso faz do método onStart um bom lugar para se certificar de que todos os recursos requeridos continuam disponíveis. Por exemplo, se estiver usando o GPS, o onStart é um bom lugar para se certificar de que o GPS estará disponível.

onResume() — É accionado quando a Activity se inicia e quando é reiniciada. Ele é accionado sempre que a Activity voltar para o primeiro plano, um bom lugar para fazer coisas como obter Intents e dados extras.

Diferença entre os métodos onStart() e onResume()?

O método onStart() só é chamada quando a Activity não estava mais visível e volta a ter o foco, o método onResume() é chamada nas “retomadas de foco”.

onPause() — É a primeira função a ser invocada quando a Activity perde o foco (isso ocorre quando uma nova Activity é iniciada). O método onPause é accionado, quando a Activity deixa o primeiro plano. Isso pode significar que uma janela de diálogo está sendo mostrada na tela, ou pode significar que este é o primeiro passo para que a Activity seja parada. Isso faz do onPause o lugar ideal para tarefas como parar animações, salvar dados e liberar recursos do sistema. Tudo que for liberado no método aqui deverá ser reconfigurado no método onResume.

onStop() — Quando a mesma está sendo encerrada e não fica mais visível ao usuário. Isso pode acontecer porque ela está sendo destruída ou porque outra Activity foi reiniciada e está em sua frente. Aqui é o lugar para liberar todos os recursos que não são mais utilizados pelo usuário.

onDestroy() — Este método literalmente finaliza a aplicação e pode ser invocado também pelo sistema operacional, caso ele deseje desalocar recursos, é a última chamada que a Activity receberá antes de ser finalizada. Se o usuário voltar a requisitar essa Activity, um novo objecto será construído.

Links

https://developer.android.com

https://www.rlsystem.com.br

https://pt.stackoverflow.com

--

--

Elisa Capololo

Software Entrepreneur | Front-end Developer | Community Builder | MEST Africa Alumni | Writer in EN and PT