En este tutorial vamos crear una aplicación que en donde podamos introducir un nombre y a través de un botón se abra una nueva actividad y se muestre un saludo con el nombre y con otro botón se muestre en otra actividad una despedida con el nombre introducido.
En este tutorial aprenderás ha:
- Introducir diferentes controles en un layout
- Pasar información entre los distintos layout
- Lanzar una nueva actividad
En este tutorial se va a explicar los pasos para crear la aplicación si profundizar en el uso de del entorno de desarrollo Eclipse.
Espero que le resulte le sirva, para cualquier cosa no dude en comentar.
¡ Saludos !
Enlaces de interés:
Código Fuente
Puede descargar si lo desea el código fuente de este proyecto.
Enlaces de interés:
Código Fuente
Puede descargar si lo desea el código fuente de este proyecto.
Pasos a seguir:
1. Comenzar un nuevo proyecto y añadir los siguientes elementos de una forma similar como se muestra en la siguiente imagen.
- TextView
- EditText
- Button
Para ello puede introducir este código en el editor de texto del layout. Recuerde modificar los identificadores como se enseñó en el anterior tutorial.
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:id="@+id/LblNombre" android:layout_height="wrap_content" android:layout_width="fill_parent" android:text="@string/nombre" /> <EditText android:id="@+id/TxtNombre" android:layout_height="wrap_content" android:layout_width="fill_parent" /> <Button android:id="@+id/BtnHola" android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="@string/hola" /> <Button android:id="@+id/BtnAdios" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/adios" /> </LinearLayout>
2. Cree el segunda actividad, para ello pulse sobre New/Other, pulse sobre Android Activity y luego sobre Next, seguidamente rellene los datos.
3. Y ahora añada los siguientes elementos de una forma aparecida a como se muestra en la imagen.
- TextView
- Button
Aquí le dejo el código de este layout por si tiene dudas.
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content"> <TextView android:id="@+id/TxtSaludo" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Respuesta" /> <Button android:id="@+id/btnAtras" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Atrás" /> </LinearLayout>
4. Ahora programamos las clases de cada layout, aquí le muestro el código que programa los componentes de la primera actividad, intente comprender que se hace leyendo los comentarios.
package net.sgoliver; 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 HolaUsuario extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //Localizar los controles final EditText txtNombre = (EditText)findViewById(R.id.TxtNombre); final Button btnHola = (Button)findViewById(R.id.BtnHola); btnHola.setOnClickListener(new OnClickListener() { public void onClick(View v) { //Creamos el Intent Intent intent = new Intent(HolaUsuario.this, FrmSaludo.class); //Creamos la información a pasar entre actividades Bundle b = new Bundle(); b.putString("NOMBRE", "Hola " +txtNombre.getText().toString()); //Añadimos la información al intent intent.putExtras(b); //Iniciamos la nueva actividad startActivity(intent); } }); final Button btnAdios = (Button)findViewById(R.id.BtnAdios); btnAdios.setOnClickListener(new OnClickListener() { public void onClick(View v) { //Creamos el Intent Intent intent = new Intent(HolaUsuario.this, FrmSaludo.class); //Creamos la información a pasar entre actividades Bundle b = new Bundle(); b.putString("NOMBRE", "Adios " +txtNombre.getText().toString()); //Añadimos la información al intent intent.putExtras(b); //Iniciamos la nueva actividad startActivity(intent); } }); } }
5. Y este código es el necesario para que funcione la segunda actividad, esta totalmente comentado por lo que tiene que intentar comprender que se hace y cómo, en los próximo tutoriales iré explicando las cosas más importantes para programas en Java.
package net.sgoliver; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.TextView; public class FrmSaludo extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.frmsaludo); //Localizar los controles TextView txtSaludo = (TextView)findViewById(R.id.TxtSaludo); //Recuperamos la información pasada en el intent Bundle bundle = this.getIntent().getExtras(); //Construimos el mensaje a mostrar txtSaludo.setText(bundle.getString("NOMBRE")); Button btnAtras = (Button)findViewById(R.id.btnAtras); btnAtras.setOnClickListener(new OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub finish(); } }); } }
6. Para comprar que todo está bien realizado pulse sobre el Play para inicializar la compilación en el emulador.
Para aprender más:
Intent
Un intent es el elemento básico de comunicación entre los distintos componentes Android que hemos descrito anteriormente. Se pueden entender como los mensajes o peticiones que son enviados entre los distintos componentes de una aplicación o entre distintas aplicaciones. Mediante un intent se puede mostrar una actividad desde cualquier otra, iniciar un servicio, enviar un mensaje broadcast, iniciar otra aplicación, etc.
FIN
No hay comentarios:
Publicar un comentario