Entendendo o ciclo de vida de uma aplicação Android

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (5)  (1)

Nesse artigo iremos entender o funcionamento de uma das principais classes de uma aplicação Android. A classe Activity.

Neste artigo vamos conhecer uma das mais importantes classes de um aplicativo Android, a classe Activity. A classe Activity é quem gerencia a interface com o usuário, ela quem recebe as requisições, as trata e processa.

Abaixo segue um diagrama explicando o ciclo de vida de uma Activity:



Abaixo vamos entender o funcionamento de cada método de uma 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.

onStart() - É chamada imediatamente após a onCreate() – e também quando uma Activity que estava em background volta a ter foco.


onResume() - Assim como a onStart(), é chamada na inicialização da Activity e também quando uma Activity volta a ter foco. Qual a diferença entre as duas? A onStart() só é chamada quando a Activity não estava mais visível e volta a ter o foco, a 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).

onStop() - Só é chamada quando a Activity fica completamente encoberta por outra Activity.

onDestroy() - A última função a ser executada. Depois dela, a Activity é considerada “morta” – ou seja, nao pode mais ser relançada. Se o usuário voltar a requisitar essa Activity, um novo objeto será contruído.


onRestart() - Chamada imediatamente antes da onStart(), quando uma Activity volta a ter o foco depois de estar em background.

Abaixo segue um exemplo de uma classe Activity:

Listagem 1:

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

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class Hello extends Activity {

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		TextView tv = new TextView(this);
		tv.setText("Bem vindo!");
		setContentView(tv);

	}

}

Repare na listagem 1 que a classe Hello extende a classe Activity. Uma aplicação Android pode ter várias Activity´s, porém o usuário só interage com uma de cada vez. As inicializações e configurações da interface com o usuário devem ser feitas sempre no método onCreate(), pois ele é o primeiro método a ser executado quando a Activity é iniciada.

Abaixo segue o arquivo main.xml de nossa aplicação:

Listagem 2:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<TextView  
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="@string/hello"
    />
</LinearLayout>

 

Abaixo segue a configuração do arquivo AndroidManifest.xml:

Listagem 3:

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


    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name="org.example.android.hello.Hello"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

    </application>
</manifest>

 

Abaixo segue a implementação do arquivo strings.xml:

Listagem 4:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="hello">Bem vindo</string>
    <string name="app_name">Hello</string>
</resources>

 

Obs: Os arquivos main.xml, strings.xml e AndroidManifest.xml são gerados automaticamente pela IDE na criação do projeto. Para criar esse exemplo utilizei o Eclipse Helios com Android SDK.

 
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Receba nossas novidades
Ficou com alguma dúvida?