Android - Atividades

Uma atividade representa uma única tela com uma interface de usuário, assim como a janela ou quadro de Java. A atividade do Android é a subclasse da classe ContextThemeWrapper.

Se você trabalhou com a linguagem de programação C, C ++ ou Java, então deve ter visto que seu programa começa a partir de main()função. De maneira muito semelhante, o sistema Android inicia seu programa com umActivitycomeçando com uma chamada no método de retorno de chamada onCreate () . Há uma sequência de métodos de retorno de chamada que inicia uma atividade e uma sequência de métodos de retorno de chamada que interrompem uma atividade, conforme mostrado no diagrama de ciclo de vida da atividade abaixo: ( imagem cortesia: android.com )

A classe Activity define os seguintes callbacks, ou seja, eventos. Você não precisa implementar todos os métodos de retorno de chamada. No entanto, é importante que você entenda cada um e implemente aqueles que garantem que seu aplicativo se comporte da maneira que os usuários esperam.

Sr. Não Retorno de chamada e descrição
1

onCreate()

Este é o primeiro retorno de chamada e chamado quando a atividade é criada pela primeira vez.

2

onStart()

Este retorno de chamada é chamado quando a atividade se torna visível para o usuário.

3

onResume()

Isso é chamado quando o usuário começa a interagir com o aplicativo.

4

onPause()

A atividade pausada não recebe entrada do usuário e não pode executar nenhum código e é chamada quando a atividade atual está sendo pausada e a atividade anterior está sendo retomada.

5

onStop()

Este retorno de chamada é chamado quando a atividade não está mais visível.

6

onDestroy()

Este retorno de chamada é chamado antes que a atividade seja destruída pelo sistema.

7

onRestart()

Este retorno de chamada é chamado quando a atividade é reiniciada após interrompê-la.

Exemplo

Este exemplo o conduzirá por etapas simples para mostrar o ciclo de vida da atividade do aplicativo Android. Siga as etapas a seguir para modificar o aplicativo Android que criamos no capítulo de exemplo Hello World -

Degrau Descrição
1 Você usará o Android Studio para criar um aplicativo Android e nomeá-lo como HelloWorld em um pacote com.example.helloworld, conforme explicado no capítulo Exemplo de Hello World .
2 Modifique o arquivo de atividade principal MainActivity.java conforme explicado abaixo. Mantenha o resto dos arquivos inalterados.
3 Execute o aplicativo para iniciar o emulador Android e verifique o resultado das alterações feitas no aplicativo.

A seguir está o conteúdo do arquivo de atividade principal modificado src/com.example.helloworld/MainActivity.java. Este arquivo inclui cada um dos métodos fundamentais do ciclo de vida. oLog.d() método foi usado para gerar mensagens de log -

package com.example.helloworld;

import android.os.Bundle;
import android.app.Activity;
import android.util.Log;

public class MainActivity extends Activity {
   String msg = "Android : ";
   
   /** Called when the activity is first created. */
   @Override
   public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      Log.d(msg, "The onCreate() event");
   }

   /** Called when the activity is about to become visible. */
   @Override
   protected void onStart() {
      super.onStart();
      Log.d(msg, "The onStart() event");
   }

   /** Called when the activity has become visible. */
   @Override
   protected void onResume() {
      super.onResume();
      Log.d(msg, "The onResume() event");
   }

   /** Called when another activity is taking focus. */
   @Override
   protected void onPause() {
      super.onPause();
      Log.d(msg, "The onPause() event");
   }

   /** Called when the activity is no longer visible. */
   @Override
   protected void onStop() {
      super.onStop();
      Log.d(msg, "The onStop() event");
   }

   /** Called just before the activity is destroyed. */
   @Override
   public void onDestroy() {
      super.onDestroy();
      Log.d(msg, "The onDestroy() event");
   }
}

Uma classe de atividade carrega todo o componente UI usando o arquivo XML disponível na pasta res / layout do projeto. A instrução a seguir carrega os componentes da IU do arquivo res / layout / activity_main.xml :

setContentView(R.layout.activity_main);

Um aplicativo pode ter uma ou mais atividades sem quaisquer restrições. Cada atividade que você define para seu aplicativo deve ser declarada em seu arquivo AndroidManifest.xml e a atividade principal para seu aplicativo deve ser declarada no manifesto com um <intent-filter> que inclui a ação MAIN e a categoria LAUNCHER da seguinte maneira:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.tutorialspoint7.myapplication">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

Se a ação PRINCIPAL ou a categoria LAUNCHER não forem declaradas para uma de suas atividades, o ícone do seu aplicativo não aparecerá na lista de aplicativos da tela inicial.

Vamos tentar executar nosso modificado Hello World!aplicativo que acabamos de modificar. Suponho que você tenha criado o seuAVDao fazer a configuração do ambiente. Para executar o aplicativo do Android Studio, abra um dos arquivos de atividade do seu projeto e clique no ícone Executar na barra de ferramentas. O Android Studio instala o aplicativo em seu AVD e o inicia e se tudo estiver bem com sua configuração e aplicativo, ele exibirá a janela do emulador e você deverá ver as seguintes mensagens de log emLogCat janela no Android Studio -

08-23 10:32:07.682 4480-4480/com.example.helloworld D/Android :: The onCreate() event
08-23 10:32:07.683 4480-4480/com.example.helloworld D/Android :: The onStart() event
08-23 10:32:07.685 4480-4480/com.example.helloworld D/Android :: The onResume() event

Vamos tentar clicar no botão da tela de bloqueio no emulador Android e ele irá gerar as seguintes mensagens de eventos em LogCat janela no android studio:

08-23 10:32:53.230 4480-4480/com.example.helloworld D/Android :: The onPause() event
08-23 10:32:53.294 4480-4480/com.example.helloworld D/Android :: The onStop() event

Vamos tentar novamente desbloquear sua tela no emulador Android e ele irá gerar as seguintes mensagens de eventos em LogCat janela no Android Studio:

08-23 10:34:41.390 4480-4480/com.example.helloworld D/Android :: The onStart() event
08-23 10:34:41.392 4480-4480/com.example.helloworld D/Android :: The onResume() event

A seguir, vamos tentar novamente clicar no botão Voltar no emulador Android e ele irá gerar as seguintes mensagens de eventos emLogCat janela no Android Studio e isso completa o ciclo de vida da atividade para um aplicativo Android.

08-23 10:37:24.806 4480-4480/com.example.helloworld D/Android :: The onPause() event
08-23 10:37:25.668 4480-4480/com.example.helloworld D/Android :: The onStop() event
08-23 10:37:25.669 4480-4480/com.example.helloworld D/Android :: The onDestroy() event