A classe de atividade é uma das partes mais importantes do componente Android . Qualquer aplicativo, não importa o quão pequeno seja (em termos de código e escalabilidade), ele tem pelo menos uma classe Activity. Ao contrário da maioria das linguagens de programação, em que o método main() é o ponto de entrada para esse programa ou aplicativo iniciar sua execução, o sistema operacional Android inicia o código em uma instância de Activity invocando métodos de retorno de chamada específicos que correspondem a estágios específicos de seu ciclo de vida.Portanto, pode-se dizer que uma atividade é o ponto de entrada para interagir com o usuário. Cada atividade contém o layout, que possui uma interface de usuário para interagir com o usuário. Como sabemos que toda atividade contém um layout associado a ela, pode-se dizer que a classe de atividade é o gateway, através do qual um usuário pode interagir programaticamente com a IU. O layout de uma atividade específica é definido com a ajuda de setContentView() . setContentView() é uma função que usa View como parâmetro. O parâmetro de visualização contém basicamente o arquivo de layout para essa atividade. As imagens a seguir indicam que activity_main é o arquivo de layout de MainActivity .

No caso de Java:

Classe Java

No caso de Kotlin:

Aula Kotlin

Embora as atividades sejam frequentemente apresentadas ao usuário como a janela de tela inteira, modo Multiwindow ou modo Picture in Picture, aqui estão dois métodos que quase todas as subclasses de Activity implementarão:

  1. onCreate()
  2. onPause()

1. Método onCreate()

Sintaxe:

protected void onCreate (Bundle savedInstanceState)

  • O método onCreate (Bundle) é o local onde o usuário inicializa a atividade. Este método é chamado quando a atividade é iniciada. Este é o método usado para inicializar a maioria das coisas no aplicativo Android. O método onCreate() leva savedInstanceState como parâmetro, que é o objeto do tipo Bundle, ou seja, Bundle Object que contém os dados salvos anteriormente da atividade. Se a atividade for criada recentemente, o bundle não salvará nenhum dado da atividade e conterá o valor nulo.
  • O método onCreate() chama o método setContentView() para definir a visualização correspondente à atividade. Por padrão, em qualquer aplicativo Android, setContentView aponta para o arquivo activity_main.xml, que é o arquivo de layout correspondente a MainActivity. O método onCreate usa o método findViewById() para que o usuário possa interagir programaticamente com os widgets no Android e, em seguida, personalizá-los de acordo com a necessidade.

Bundle : Se a atividade estiver sendo reinicializada ou reiniciada após ser fechada anteriormente, este Bundle conterá os dados que forneceu mais recentemente em onSaveInstanceState (Bundle). O método onSaveInstanceState() é o método que é chamado para salvar os dados antes de nossa atividade ser eliminada.

2. Método onPause()

Sintaxe:

protegido void onPause()

Este método é chamado como parte do ciclo de vida da atividade quando o usuário não interage mais ativamente com a atividade, mas ainda está visível na tela. Vamos supor que o usuário esteja executando dois aplicativos simultaneamente em um telefone celular, ou seja, quando a atividade B é iniciada na frente da atividade A, então a atividade A irá para o estado onPause() e a atividade B irá para o estado onStart() de o ciclo de vida da atividade. Um ponto importante a ser lembrado é que para que qualquer atividade seja acessada pelo sistema, ou seja, pelo android aqui, essa atividade deve ser declarada em um arquivo de manifesto . O arquivo de manifesto é um arquivo XML incluído no aplicativo e padrão conhecido como AndroidManifest.xml.

Declaração de atividade no arquivo de manifesto

Abra a pasta do aplicativo e, em seguida, abra o manifesto da subpasta e, em seguida, abra o arquivo AndroidManifest.xml .

Arquivo de manifesto

Suponhamos que o leitor queira ter mais uma atividade, além da MainActivity que está incluída por padrão no projeto. Antes de adicionar mais uma atividade e não fazer nenhuma alteração, vamos ver como o arquivo AndroidManifest.xml se parece:

Agora vamos adicionar outra atividade chamada SecondActivity e ver como declará-la no arquivo de manifesto. Deve-se escrever o código de declaração dentro da tag do aplicativo, caso contrário , a declaração dará o erro, e SecondActitvity não será detectado pelo Sistema. O código de declaração é fornecido abaixo.

<atividade    

       android: nome = ”. SecondActivity”    

       android: label = ”@ string / app_name”>

</activity>

Assim, pode-se concluir que um aplicativo pode ter uma ou mais atividades sem quaisquer restrições. Cada atividade que o aplicativo Android usa deve ser declarada no arquivo AndroidManifest.xml. e a atividade principal do aplicativo deve ser declarada no manifesto com um <intent-filter> que inclui a ação MAIN e LAUNCHER. Qualquer atividade, seja MainActivity ou qualquer outra atividade, deve ser declarada no <application> do arquivo AndroidManifest. Se o usuário esquecer de declarar qualquer atividade, o Android não conseguirá detectar essa atividade no aplicativo. Se a ação PRINCIPAL ou a categoria LAUNCHER não forem declaradas para a atividade principal, o ícone do aplicativo não aparecerá na lista de aplicativos da tela inicial.

Adicionando permissões ao aplicativo

Deve-se lembrar que qualquer serviço que o desenvolvedor queira usar no aplicativo android, como serviço de Internet, serviço Bluetooth, Google Maps, serviço de notificação de aplicativos, etc, para usar qualquer um deste serviço, o desenvolvedor precisa ter a permissão do android sistema. Todas essas permissões ou requests devem ser declaradas no arquivo de manifesto. Abra o arquivo AndroidManifest.xml, com o procedimento mostrado acima. Digamos que o usuário precise adicionar permissão à Internet, que precisa ser acessada pelo aplicativo. Adicione a permissão de Internet abaixo na tag do manifesto.

<usa permissão para android: name = ”android.permission.INTERNET” />

Digamos que seja necessário adicionar permissão Bluetooth dentro do aplicativo e, em seguida, deve ser declarado assim:

<usa permissão para android: name = ”android.permission.BLUETOOTH” />

Nota: Conceitualmente, deve ficar claro que embora a classe Activity digamos que MainActivity estende AppCompatActivity no trecho de código fornecido na parte superior, internamente a estrutura é como a mostrada na imagem fornecida abaixo. Pode-se ver que AppCompatActivity também estende a classe Activity. 

AppCompatActivity também estende a classe Activity. 

Quer um ambiente mais competitivo e acelerado para aprender os fundamentos do Android?
Clique aqui para acessar um guia com curadoria exclusiva de nossos especialistas com o objetivo de torná-lo pronto para a indústria em nenhum momento!