Intent-a App bat osatzen duten osagai ezberdinen arteko komunikazio elementua edo objektua da. Kasu honetan helburua beste pantaila bat irekitzea denez Intent baten bitartez beste activity bati deituko zaio: lehenengoan testu bat, izen bat, idatziko da EditText kontrolean eta Ireki Button-ari klikatzerakoan 2. activity-aren interfazea zabalduko da EditText-ean sartutako testua erakutsiz. I. Ilustrazioan ikus daiteke lortu nahi dena.
![]() |
| I. Ilustrazioa: 2 pantailako App-a |
App-ak 2 pantaila izango dituenez 2 interfaze grafiko eta 2 activity definitu beharko dira. Lehenengo pantaila honako xml artxiboak defini lezake:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/LinearLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/izenarenEtiketa"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/izenarenEtiketa" />
<EditText
android:id="@+id/izenaSartzeko"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="text">
</EditText>
<Button
android:id="@+id/irekiBotoia"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/ireki" />
</LinearLayout>
Bigarren interfaze bat eraikitzeko, II.Ilustrazioa ikusten moduan artxibo berri bat sortzeko aukerara joko dugu res>layout karpetaren gainean saguaren eskubiko botoiari emanez.
![]() |
| II. Ilustrazioa: Fitxategi berri bat sortzen res>layout barnean |
![]() |
| III. Ilustrazioa: fitxategiari izena ematen |
Bigarren pantailak TextView bat izango du soilik:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/kaixo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="" />
</LinearLayout>
Logikari dagokionez, lehenengo pantailari dagokion activity-aren class-ea modu honetan definituko da:
package com.proeiktua.lehenengoproiektua;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final EditText izenaSartzeko = (EditText)findViewById(R.id.izenaSartzeko);
final Button irekiBotoia = (Button)findViewById(R.id.irekiBotoia);
irekiBotoia.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent =
new Intent(MainActivity.this, pantaila2.class);
Bundle b = new Bundle();
b.putString("IZENA", izenaSartzeko.getText().toString());
intent.putExtras(b);
startActivity(intent);
}
});
}
}
onClick metodoaren barnean Intent objektu bat definitzen da, egin nahi den jauzia definituz, hau da, MainActivity.java-tik pantaila2.java fitxategira egingo den jauzia (orain ez da pantaila2.java definitu!). Jauzi horretan EditText-ean sartutako testua, izena, eraman behar denez Bundle objektu bat definitzen da, eta ondoren EditText-ean dagoen testua atxikitzen zaio. intent.putExtras(b)-ekin Bundle-a Intent-ari ezartzen zaio (IZENA etiketa jartzen zaio identifikatibo moduan) eta azkenik startActivity-rekin 2. pantailari, edo hobe esan, 2. activity-ri deitzen zaio.
2. pantaila definitzeko java fitxategi berri bat definitu beharko da src karpetako namespace-aren barnean lehndik egin denaren antzera (Ikus IV. eta V. Ilustrazioak).
![]() |
| IV. Ilustrazioa: java fitxategi bat sortzen |
![]() |
| V. Ilustrazioa: 2. pantaila bistaratuko duen activity-aren class-eari izena ematen |
package com.proeiktua.lehenengoproiektua;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
public class pantaila2 extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.pantaila2);
TextView txtSaludo = (TextView)findViewById(R.id.kaixo);
Bundle bundle = this.getIntent().getExtras();
txtSaludo.setText("Kaixo " + bundle.getString("IZENA"));
}
}
setContentView-arekin 2. pantaila bistaratu ondoren, eta TextView-a instanziatu eta gero, Bundle objektu batean activity-a hasieratu duen Intent-ak zekarren Bundle-eko "Extra" elementuak berreskuratzen ditugu (kasu honetan IZENA etiketarekin identifikatuko direnak). Azkenik setText-ekin TextView-ra pasako da erakutsi nahi dugun testua.




