Hola a todos, para comenzar esta tercera parte, que mejor que recordar que es lo que vamos a ver.
La segunda parte del tutorial terminó diciendo que quedaba por ver como crear diferentes pantallas, como "registrarlas" en el programa, y como manejarnos de una a otra.
Bien, pues lo primero que debemos de hacer es abrir nuestro proyecto de ejemplo de la parte anterior, o crearnos si queremos uno nuevo en blanco, yo explicare como si creásemos de nuevo otro proyecto desde 0.
Desde el explorador de proyectos:
Creamos el proyecto, en mi caso tutorial_android_3, que implemente una actividad (le he dejado el nombre por defecto), como target de la api de android he puesto que se usará la versión 2.2.
Una vez terminemos, deberemos de tener algo parecido a esto:
Bien, en el proyecto tenemos una sola actividad que hemos llamado One_Activity. Ahora vamos a proceder a crear una segunda actividad. Para eso haremos click derecho en el paquete de nuestra aplicación y seleccionaremos nueva -> clase. La clase que creemos deberá heredar de la clase Activity.
Una vez creada deberemos de indicar en el manifiesto del programa que existen 2 actividades, para hacer esto editaremos el archivo AndroidManifest.xml, y desde la pestaña application deberemos de realizar los siguientes pasos:
A continuación lo que hay que hacer es escribir el nombre de la actividad. Es importante decir que el nombre de la actividad aquí hay que escribirla con un punto delante.
No debemos de olvidarnos de guardar el manifiesto una vez hallamos añadido la nueva actividad. Una vez lo hagamos se actualizará el manifiesto y podremos invocar a la nueva actividad sin que ocurra ningún fallo.
La segunda parte del tutorial terminó diciendo que quedaba por ver como crear diferentes pantallas, como "registrarlas" en el programa, y como manejarnos de una a otra.
Bien, pues lo primero que debemos de hacer es abrir nuestro proyecto de ejemplo de la parte anterior, o crearnos si queremos uno nuevo en blanco, yo explicare como si creásemos de nuevo otro proyecto desde 0.
Desde el explorador de proyectos:
click derecho -> nuevo proyecto de android
Creamos el proyecto, en mi caso tutorial_android_3, que implemente una actividad (le he dejado el nombre por defecto), como target de la api de android he puesto que se usará la versión 2.2.
Una vez terminemos, deberemos de tener algo parecido a esto:
Una vez creada deberemos de indicar en el manifiesto del programa que existen 2 actividades, para hacer esto editaremos el archivo AndroidManifest.xml, y desde la pestaña application deberemos de realizar los siguientes pasos:
A continuación lo que hay que hacer es escribir el nombre de la actividad. Es importante decir que el nombre de la actividad aquí hay que escribirla con un punto delante.
No debemos de olvidarnos de guardar el manifiesto una vez hallamos añadido la nueva actividad. Una vez lo hagamos se actualizará el manifiesto y podremos invocar a la nueva actividad sin que ocurra ningún fallo.
Una vez tengamos hayamos añadido la nueva actividad al proyecto, quedan por hacer tres pasos más.
- Diseñar las pantallas necesarias.
- Añadir el código necesario para llamar a la segunda actividad desde la primera.
- Añadir el código necesario para llamar a la primera actividad desde la segunda.
Vamos a diseñar las pantallas, la interfaz que vamos implementar será similar a la siguiente:
Diseño de una pantalla
Las diferentes pantallas o layouts se crean en la carpeta res/layout. Lo primero que vamos a hacer va a ser modificar la pantalla que se genera por defecto, main.xml, una aplicación siempre debe tener un layout llamado main.xml. Además de este se pueden añadir todos los que se deseen.
La primera pantalla después de modificar main,xml quedaría así:
Código de main.xml
<?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:background="#dcdcdc"
android:orientation="vertical"
android:padding="15px" >
<Button
android:id="@+id/mainNextButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Ir a la actividad 2" android:onClick="siguiente"/>
<Button
android:id="@+id/mainExitButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Salir" android:onClick="finish"/>
</LinearLayout>
En la primera pantalla hemos añadido dos botones:
- Uno para ir la siguiente actividad, y que he identificado, siguiendo el patrón <pantalla><IdBoton>, como mainNextButton, además responde al evento onClick llamando al método siguiente, que deberemos incluir dentro de la clase One_Activity.
- El otro botón se utilizará para cerrar la actividad correctamente. Se ha identificado como mainExitButton, y responde al evento onClick llamando al método finish(View v), que debemos de escribir.
Ahora se añade la segunda pantalla al proyecto, que vamos a llamar second_screen.xml, y se inserta en ella el botón necesario para volver a la anterior actividad:
Esta segunda pantalla solamente posee un botón, con id second_screenPrevButton, y que responde al evento onClick llamando al método finish(View v), que debemos de escribir.
Código de second_screen.xml
<?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:background="#dcdcdc"
android:orientation="vertical"
android:padding="15px" >
<Button
android:id="@+id/second_screenPrevButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Ir a la actividad 1" android:onClick="finish"/>
</LinearLayout>
Añadiendo el código a las actividades
Ahora vamos añadir el código a las actividades. La idea será la siguiente:
Se implementará un método siguiente en la clase One_Activity llamado siguiente, en él se insertará el código necesario para invocar a la segunda actividad. Esta invocación se realiza mediante intents. Un intent es una descripción abstracta de una operación que se desea realizar.
Código de la primera actividad
package com.jesusenlanet.tutorial3; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; public class One_Activity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } public void siguiente(View v){ Intent siguienteActividad = new Intent(One_Activity.this, Other_Activity.class); startActivity(siguienteActividad); } public void finish(View v){ finish(); } }
En la primera actividad se han añadido dos métodos, siguiente para llamar a la segunda actividad, y finish(View) para terminar correctamente. Se indica también que se use el layout main.xml.
En el método siguiente, se crea un intent, especificando el contexto desde el que se está llamando, y la clase actividad que queremos llamar. Una vez creado el intent, se inicia la segunda actividad mediante el método startActivity(Intent).
El método finish que se necesita añadir, recibe como parámetro de entrada una vista (View), esto es así por que a las funciones que son llamadas desde el método onClick de los layouts, se las llama pasando automáticamente como argumento la vista. En cuerpo de este método solamente nos limitamos a llamar al método finish, que no recibe parámetros, y procede a terminar la actividad.
Código de la segunda actividad
package com.jesusenlanet.tutorial3;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
public class Other_Activity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.second_screen);
}
public void finish(View v){
finish();
}
}
En esta actividad solamente se indica que se cargue el layout second_screen.xml y se añade un método finish(View) para terminar la segunda actividad. Una vez termine se vuelve automáticamente a la primera actividad.
Ya se ha visto como se llaman a otras actividades, y cual es método correcto para terminar las mismas. Además se ha visto como modificar el archivo AndroidManifest.xml para indicar las actividades de las que consta el programa, además de ver con más detalle como se organiza un layout.
Ya me he terminado el manual , para iniciarse está genial , de normal las configuraciones de entornos etc etc son engorrosas , aqui todo genial! ahora a trastear un poco y a ver que sale :)
ResponderEliminargracias mi compaaaaaaaaaaa jjojojojojoo
ResponderEliminarGracias por publicar estos manuales para gente que aun no se encuentra familiarizado con la programacion en android.
ResponderEliminarGracias!!!!
yei muchas gracias, la vdd muy bueno, para que videos y libros si con estos 3 tutoriales aprendi lo basico
ResponderEliminar