BÚSCAME EN: Last FM Filmaffinity Facebook Youtuve Blogger Twitter Feed Instagram
Puedes acceder a este blog mediante las direcciones www.ignacionario.com o ignacionario.blogspot.com. También puedes contactar a través de la dirección de correo electrónico contacto@ignacionario.com.

3 de febrero de 2011

Android (III): Transferencia de datos entre dos Activity

Android (III): Transferencia de datos entre dos Activity
Con un poquito de tiempo, aprender Android es sólo cosa de niños

Si por casualidad habéis seguido mis dos anteriores post sobre Android, os habréis dado cuenta que teniendo unos conocimientos mínimos resulta bastante sencillo empezar a desarrollar con eclipse. En esta ocasión voy a intentar contar los pasos necesarios para enviar datos desde una pantalla (Activity) a otra.

  1. Definir y crear los elementos de la interfaz que usaremos para trabajar los datos en cada pantalla
  2. Crear una clase Activity por cada pantalla y asociar las interfaces creadas
  3. Enviar la información entre los dos Activity
  4. Recibir y tratar la información enviada


DEFINIR LA INTERFAZ

Interfaz del Activity que envía los datos: Caja de texto editable y un botón para realizar el envío.
<EditText
android:id="@+id/etInfo"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="5"
android:numeric="decimal"
/>

<Button
android:id="@+id/btEnviarDatos"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="+"
android:layout_weight="1"
/>

Interfaz del Activity que recibe los datos: Etiqueta de texto (sólo lectura) en la que ponemos la información.
<textview
android:id="@+id/txInfoRecibida"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:textsize="25sp"
android:textstyle="bold"
android:gravity="center"
>


CREAR LAS CLASES ACTIVITY'S

La primera de las clases normalmente viene creada al inicio del proyecto. Para añadir una nueva clase nos vamos a la carpeta en la que queremos crear el archivo (dentro de eclipse) y entre las propiedades escogemos "New" --> "Class. Indicamos el nombre de la clase y el padre (superclass), que en este caso debe ser la clase Activity.


IMPORTANTE: Cada vez que añadamos un Activity debemos indicarlo en el archivo AndroidManifiest.xml. Si intentamos ejecutar una pantalla que no hallamos notificado se lanzará un error y la aplicación se cerrará. 
Una vez abierto el archivo, nos aparecerán varias pestañas en la parte inferior de la pantalla: dentro de la pestaña Aplication pulsamos "Add" y añadimos un elemento del tipo "Activity". Dentro de las propiedades de este elemento se encuentra la opción "Name", en la que debemos indicar el nombre del Activity recién creado.

Android (III): Transferencia de datos entre dos Activity
Configuracion de nuevos Activity en el archivo androidManifiest.xml


ENVIAR DATOS
// Definimos las variables EdidText (caja de texto) y Button (Botón), recuperando el
// elemento a partir del ID que se genera cuando lo añadimos al layout usado para esta pantalla.
EditText edInfo= (EditText) findViewById(R.id.etInfo);
Button btEnviarDatos= (Button) findViewById(R.id.btEnviarDatos);
btEnviarDatos.setOnClickListener(new Button.OnClickListener() {

@Override
public void onItemClick(AdapterView parent, View view, int position, long id) {
// Se llama a este método cuando pulsamos el boton btEnviarDatos
String cadenaTexto= edInfo.getText();
Intent intent = new Intent(ActivityPrincipal.this, ActivitySecundaria.class);
intent.putExtra("Datos", cadenaTexto);
intent.putExtra("Longitud", cadenaTexto.length());
// Llamamos al Activity con nombre ActivitySecundaria pasandole la cadena como parametro startActivity(intent);
}
});


RECIBIR DATOS
Bundle extras = getIntent().getExtras();
if(extras!=null){
    String cadenaRecibida = extras.getString("Datos");
    int logitudCadena = extras.getInt("Longitud");
}


OTRAS ENTRADAS SOBRE ANDROID EN ESTE BLOG

16 comentarios:

  1. Muchas gracias! Queda muy claro con tu explicacion!!

    ResponderEliminar
  2. Gracias a ti ^^, siempre sienta bien que dejen su huella aquellos a los que le sirve de utilidad el post!

    ResponderEliminar
  3. gracias :) buen post
    ánimo y a seguir publicando
    saludos de un principiante!!

    ResponderEliminar
  4. Ignacio, con tu permiso, voy a enlazar esta página a mi blog, ya que estoy haciendo una serie de apuntes y me ha gustado. Si no quieres que lo haga, simplemente me lo comunicas.

    Gracias.

    ResponderEliminar
  5. Hola donjesusito, como ya te he dicho por tu blog, no te preocupes, encantado! :P

    ResponderEliminar
  6. Desde luego si el libro de Android "Guia para desarrolladores" se explicara así, esto sería más fácil.

    Pero gracias a gente que se preocupa en enseñar lo que sabe, a algunos como yo puede que terminemos aprendiendo algo.

    Gracias.

    ResponderEliminar
  7. muy bueno tambien este post creo que ya enlase las ideas del post que te deje y creo k se dirige mas por pasar de activitys gracias y muy buen post

    ResponderEliminar
  8. Gracias por el tiempo y dedicación! Muy útil!

    ResponderEliminar
  9. ey como se llama ese tema dl sitio??

    ResponderEliminar
  10. ey como se llama ese tema dl sitio??

    ResponderEliminar
  11. Gracias, muy buenos artículos.... entre un mar de información muy regular en Internet.

    ResponderEliminar
  12. ey como se llama ese tema dl sitio??

    ResponderEliminar
  13. ey como se llama ese tema dl sitio??

    ResponderEliminar
  14. Muchas gracias bro!, me sirvio ;)

    ResponderEliminar
  15. que tal amigo!
    gracias por el dato, me sirve bastante, pero en otra app tengo con tabhost 3 acticity el que contiene las tab y 2 que se muestran una en cada pestaña, en este caso como podria pasar una valor de la pestaña 1 a la pestaña 2 teniendo en cuenta que el cambio entre una y otra pestaña se hace mediante el tabhost, salu2!

    ResponderEliminar

Si estás conectado a tu cuenta de Google, puedes pulsar la opción Suscripción por correo electrónico que aparece a la derecha del botón Publicar comentario para recibir los comentarios que se publiquen en tu cuenta de correo electrónico, así podrás realizar un seguimiento de lo que se habla en esta entrada.
Si quieres enterarde de nuevos post, puedes subscribirte por correo, o hacerte seguidor tanto en blogger como en mi cuenta de twitter (ignacionario)

Related Posts Plugin for WordPress, Blogger...