Introdução às atividades no Android
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:
No caso de 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:
- onCreate()
- 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 .
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.
As postagens do blog Acervo Lima te ajudaram? Nos ajude a manter o blog no ar!
Faça uma doação para manter o blog funcionando.
70% das doações são no valor de R$ 5,00...
Diógenes Lima da Silva