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

Related Posts Plugin for WordPress, Blogger...