Objectius del Tema

En aquest tema, aprendràs:

  • Què és una activitat en Android.
  • Com crear una activitat.
  • El cicle de vida d'una activitat.
  • Com comunicar-se entre activitats.

Què és una Activitat?

Una activitat és una de les components fonamentals d'una aplicació Android. Representa una única pantalla amb una interfície d'usuari. Per exemple, una aplicació de correu electrònic pot tenir una activitat per mostrar una llista de correus, una altra per redactar un nou correu, etc.

Creació d'una Activitat

Pas 1: Crear una Nova Activitat

  1. Obre Android Studio.
  2. Crea un nou projecte o obre un projecte existent.
  3. Afegeix una nova activitat:
    • Fes clic amb el botó dret a la carpeta app dins del panell del projecte.
    • Selecciona New > Activity > Empty Activity.
    • Assigna un nom a la teva activitat (per exemple, SecondActivity).
    • Fes clic a Finish.

Pas 2: Modificar el Fitxer XML de la Interfície d'Usuari

El fitxer XML associat a la nova activitat es troba a res/layout/activity_second.xml. Aquí pots definir la interfície d'usuari de la teva activitat.

<!-- res/layout/activity_second.xml -->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:padding="16dp">

    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello from Second Activity!" />

</LinearLayout>

Pas 3: Modificar la Classe de l'Activitat

El fitxer de codi associat a la nova activitat es troba a java/com/teu/paquet/SecondActivity.java. Aquí pots definir el comportament de la teva activitat.

// java/com/teu/paquet/SecondActivity.java
package com.teu.paquet;

import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;

public class SecondActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_second);
    }
}

El Cicle de Vida d'una Activitat

Les activitats en Android tenen un cicle de vida ben definit que consta de diversos mètodes de devolució de trucada. Els més importants són:

  1. onCreate(): Cridat quan l'activitat es crea per primera vegada.
  2. onStart(): Cridat quan l'activitat es fa visible per a l'usuari.
  3. onResume(): Cridat quan l'activitat comença a interactuar amb l'usuari.
  4. onPause(): Cridat quan l'activitat deixa d'interactuar amb l'usuari.
  5. onStop(): Cridat quan l'activitat ja no és visible per a l'usuari.
  6. onDestroy(): Cridat abans que l'activitat sigui destruïda.

Diagrama del Cicle de Vida

Mètode Descripció
onCreate() Inicialitza l'activitat. Configura la interfície d'usuari.
onStart() L'activitat es fa visible per a l'usuari.
onResume() L'activitat comença a interactuar amb l'usuari.
onPause() L'activitat deixa d'interactuar amb l'usuari.
onStop() L'activitat ja no és visible per a l'usuari.
onDestroy() L'activitat està a punt de ser destruïda.

Exemple de Codi

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_second);
    Log.d("SecondActivity", "onCreate called");
}

@Override
protected void onStart() {
    super.onStart();
    Log.d("SecondActivity", "onStart called");
}

@Override
protected void onResume() {
    super.onResume();
    Log.d("SecondActivity", "onResume called");
}

@Override
protected void onPause() {
    super.onPause();
    Log.d("SecondActivity", "onPause called");
}

@Override
protected void onStop() {
    super.onStop();
    Log.d("SecondActivity", "onStop called");
}

@Override
protected void onDestroy() {
    super.onDestroy();
    Log.d("SecondActivity", "onDestroy called");
}

Comunicació entre Activitats

Pas 1: Crear un Intent

Per iniciar una nova activitat, utilitzem un Intent.

Intent intent = new Intent(MainActivity.this, SecondActivity.class);
startActivity(intent);

Pas 2: Passar Dades entre Activitats

Podem passar dades entre activitats utilitzant putExtra i getIntent.

Enviar Dades:

Intent intent = new Intent(MainActivity.this, SecondActivity.class);
intent.putExtra("EXTRA_MESSAGE", "Hello from MainActivity!");
startActivity(intent);

Rebre Dades:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_second);

    Intent intent = getIntent();
    String message = intent.getStringExtra("EXTRA_MESSAGE");

    TextView textView = findViewById(R.id.textView);
    textView.setText(message);
}

Exercicis Pràctics

Exercici 1: Crear una Nova Activitat

  1. Crea una nova activitat anomenada ThirdActivity.
  2. Afegeix un TextView al fitxer XML de la interfície d'usuari de ThirdActivity.
  3. Modifica la classe ThirdActivity per mostrar un missatge de benvinguda.

Exercici 2: Passar Dades entre Activitats

  1. Modifica MainActivity per enviar un missatge a ThirdActivity utilitzant un Intent.
  2. Modifica ThirdActivity per rebre i mostrar el missatge enviat des de MainActivity.

Solucions

Solució a l'Exercici 1

Fitxer XML:

<!-- res/layout/activity_third.xml -->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:padding="16dp">

    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Welcome to Third Activity!" />

</LinearLayout>

Classe Java:

// java/com/teu/paquet/ThirdActivity.java
package com.teu.paquet;

import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;

public class ThirdActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_third);
    }
}

Solució a l'Exercici 2

Enviar Dades des de MainActivity:

Intent intent = new Intent(MainActivity.this, ThirdActivity.class);
intent.putExtra("EXTRA_MESSAGE", "Hello from MainActivity!");
startActivity(intent);

Rebre Dades a ThirdActivity:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_third);

    Intent intent = getIntent();
    String message = intent.getStringExtra("EXTRA_MESSAGE");

    TextView textView = findViewById(R.id.textView);
    textView.setText(message);
}

Conclusió

En aquest tema, has après què és una activitat, com crear-ne una, el cicle de vida d'una activitat i com comunicar-se entre activitats. Aquestes habilitats són fonamentals per al desenvolupament d'aplicacions Android. En el proper tema, explorarem com executar la teva aplicació en un emulador.

© Copyright 2024. Tots els drets reservats