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.
- Definir y crear los elementos de la interfaz que usaremos para trabajar los datos en cada pantalla
- Crear una clase Activity por cada pantalla y asociar las interfaces creadas
- Enviar la información entre los dos Activity
- 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.
Configuracion de nuevos Activity en el archivo androidManifiest.xml |
// 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
Muchas gracias! Queda muy claro con tu explicacion!!
ResponderEliminarGracias a ti ^^, siempre sienta bien que dejen su huella aquellos a los que le sirve de utilidad el post!
ResponderEliminargracias :) buen post
ResponderEliminaránimo y a seguir publicando
saludos de un principiante!!
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.
ResponderEliminarGracias.
Hola donjesusito, como ya te he dicho por tu blog, no te preocupes, encantado! :P
ResponderEliminarDesde luego si el libro de Android "Guia para desarrolladores" se explicara así, esto sería más fácil.
ResponderEliminarPero gracias a gente que se preocupa en enseñar lo que sabe, a algunos como yo puede que terminemos aprendiendo algo.
Gracias.
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
ResponderEliminarEnhorabuena!! Ánimo con tu APP! :)
ResponderEliminarGracias por el tiempo y dedicación! Muy útil!
ResponderEliminarey como se llama ese tema dl sitio??
ResponderEliminarey como se llama ese tema dl sitio??
ResponderEliminarGracias, muy buenos artículos.... entre un mar de información muy regular en Internet.
ResponderEliminarey como se llama ese tema dl sitio??
ResponderEliminarey como se llama ese tema dl sitio??
ResponderEliminarMuchas gracias bro!, me sirvio ;)
ResponderEliminarque tal amigo!
ResponderEliminargracias 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!