Вы находитесь на странице: 1из 4

Curso PUDE

Desarrollo de Aplicaciones Mviles en Android

Ejercicio Intermedio A: Mltiples Actividades


El ejercicio consistir en la creacin de dos actividades. La primera actividad contendr un campo de texto y un botn. Al pulsar sobre este botn, el control pasa a la segunda actividad mostrando el texto que se insert en el cuadro de texto de la primera actividad.

A. Descripcin
Se trata de familiarizar al alumno con los cambios de actividades, aadir funciones a los objetos y el paso de datos entre actividades mediante Bundle, entre otros. Para aadir una funcin a un objeto Button, debemos establecer un listener en la funcin onClick() de Button, y se realiza mediante la funcin setOnClickListener(), pasndole un objeto que implemente OnClickListener, y que tenga el mtodo onClick. Un ejemplo:
Button boton = (Button) findViewById (R.id.Button); boton.setOnClickListener(new Button.OnClickListener() { public void onClick(View v) { // cdigo de la funcin } });

Cuando queremos realizar una llamada a una actividad, utilizamos los Intents. Un intent es la descripcin abstracta de una operacin que se va a llevar a cabo, o dicho de otro modo, un Intent es una clase que permite especificar una Activity a ejecutar, llamando a uno de los mtodos de la clase Activity con ese Intent de parmetro. As si queremos realizar la llamada a otra actividad haremos algo como lo siguiente:
Intent i = new Intent (contexto, NuevaActividad.class); startActivity(i);

NOTA: La variable contexto, se refiere al contexto en el que est siendo utilizado.

La clase Bundle contiene tipos primitivos y objetos de otras clases, y se utiliza para pasar datos entre diferentes actividades. Para que una actividad pase datos, utilizamos la funcin putExtra(). Un ejemplo:
Intent myIntent = new Intent (contexto, NuevaActividad.class); myIntent.putExtra("com.feu.ull.cursoandroid.Value", "Hola, Juan!");
Desarrollo de Aplicaciones Mviles en Android Ejercicio Intermedio A: Mltiples Actividades Autores: Jorge Carballo Franquis David D. Harjani Harjani

Pgina 1 de 4

// Par clave/valor startActivity(myIntent);

Y en la otra actividad, recibimos el valor as:


Bundle bundle = getIntent().getExtras(); if (bundle != null){ data = bundle.getString("com.feu.ull.cursoandroid.Value"); } // data contendr ahora el valor Hola, Juan!

B. Implementacin
El cdigo que se ofrece al usuario tiene 2 actividades creadas (Actividad1 y Actividad2). Ambas actividades estarn vacas, con slo el cdigo que viene a continuacin:
public class Actividad1 extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.actividad1); } }

public class Actividad2 extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.actividad2); } }

Los layouts que tienen el diseo de las actividades (R.layout.actividad1 y R.layout.actividad2) estarn vacos, conteniendo slo el LinearLayout donde el alumno tendr que insertar los diferentes TextView, EditText y Button donde corresponda. Se pretende la creacin de 2 actividades diferentes, cuya vista ser la siguiente:

Desarrollo de Aplicaciones Mviles en Android Ejercicio Intermedio A: Mltiples Actividades Autores: Jorge Carballo Franquis David D. Harjani Harjani

Pgina 2 de 4

La primera actividad permite la insercin de un texto en el EditText, y al pulsar sobre el botn Otra Actividad y aparezca la segunda actividad con un TextView conteniendo el texto insertado en el EditText de la primera actividad.

C. Pasos a seguir
1. Cargar el cdigo del proyecto Ejercicio Intermedio A Multiples actividades -> Inicial en Eclipse. 2. Modificar el fichero res/layout/actividad1.xml para que sea idntico al explicado ms arriba, insertando un EditText y un Button. NOTA: Debemos modificar algunas propiedades de
los mismos. En el Button cambiar la propiedad Text y asignarle el texto Otra actividad, mientras que en el EditText le asignaremos esta variable a vaco. En ambos tambin modificaremos el valor de la propiedad Layout width establecindola a match_parent (antiguo fill_parent) (indica que utilizar todo el ancho de la pantalla).

3. Modificar el fichero res/layout/actividad2.xml para que sea idntico al explicado ms arriba, insertando un TextView.
NOTA: Deberemos modificar la propiedad Text y asignarle a la misma No me llegan datos.

4. Crear listener de la funcin onClick, para el objeto Button de la primera actividad. Utilizar la funcin findViewById() para obtener el Button al que nos queremos referir.

Desarrollo de Aplicaciones Mviles en Android Ejercicio Intermedio A: Mltiples Actividades Autores: Jorge Carballo Franquis David D. Harjani Harjani

Pgina 3 de 4

5. Obtener dentro del listener anterior el texto que se encuentra en el EditText. NOTA: Mirar las funciones getText() y toString(). 6. Pasar el String obtenido del paso anterior a la siguiente actividad, y realizar la llamada a la misma. NOTA: Debemos incluir en el Android.manifest que existe la actividad Actividad2.
Intent i = new Intent (getApplicationContext(), Actividad2.class); i.putExtra("clave", texto); startActivity(i);

7. Obtener en la segunda actividad el texto pasado desde la primera. NOTA: bundle.getString (clave) 8. Establecer el texto de TextView al obtenido anteriormente. NOTA: setText()

Desarrollo de Aplicaciones Mviles en Android Ejercicio Intermedio A: Mltiples Actividades Autores: Jorge Carballo Franquis David D. Harjani Harjani

Pgina 4 de 4

Вам также может понравиться