Sei sulla pagina 1di 8

www.ANDROID-SPA.

com

Android

Creación de una aplicación sencilla:


Forwarding

- Página 1 -
www.ANDROID-SPA.com

Realización de la aplicación Forwarding en Android


Este es un pequeño tutorial con el que se realizará un pequeño programa para Android
para poderse iniciar en la programación del sistema.

Se va a realizar sobretodo mediante XML, aunque no es necesario tener conocimientos


previos, ayudará a la comprensión del tutorial haber trabajado antes con él.

1. Creamos un nuevo proyecto

Para crear un nuevo proyecto, en la ventanita de proyectos del Eclipse mediante


el botón derecho le damos a New -> Project, en la ventana que nos aparece
seleccionamos proyecto de tipo Android -> Android Project

En la siguiente ventana pondremos nombre al proyecto, seleccionaremos la


carpeta donde queramos guardarlo si no está dentro del espacio de trabajo y añadiremos
el nombre del paquete, el nombre de la actividad y el nombre de la aplicación, aunque
estos valores luego podremos cambiarlos más adelante.

Valores que se han asignado para seguir el tutorial:


Project name: ProgramaDePrueba
Package name: android.prueba
Activity name: Prueba
Application name: Programa de prueba

2. Observamos los archivos creados por el plug-in

En src:
- Prueba.java: Clase que contendrá el main a ejecutar
- R.java: Clase que contiene direcciones (unifica las clases con el XML)
En res:
- drawable: icon.png – icono (imagen)
- layout: main.xml – información XML para creación de pantallas
- values: atrings.xml – información XML con variables

- Página 2 -
www.ANDROID-SPA.com

3. Funcionamiento simple de android

La clase importante con la que vamos a trabajar inicialmente es Prueba.java, esa


clase tiene un método void que será el que se ejecute cuando se inicie la aplicación, en
él está generado el código necesario para ejecutar el diseño XML de los archivos antes
indicados.

Necesitamos la sentencia super.onCreate(iclicle) para crear una Screen nueva en


la pantalla de android, esa sentencia no la cambiaremos.

También se genera la sentencia setContentView(R.Layout.main) que añade a la


Activity que tenemos creada en esta clase toda la información aportada por el archivo
XML indicado. En vez de R.Layout,main podemos añadir a mano otros elementos que
queramos introducir, sin embargo es más organizado y más simple trabajar con XML.

En resumen, esta clase no es necesario cambiar nada por ahora, ya que todo lo ue
necesitamos está hecho por defecto en la creación del proyecto.

4. Creación de un texto y un botón

Ya tenemos una “ventana” creada en la que podemos introducir cosas, sin


embargo necesitamos indicar el Layout que va a utilizar esta view, para ello utilizamos
XML.

4.1. El archivo XML que contendrá el Layout y los elementos será main.xml,
pero como siempre es importante trabajar con nombres informativos, por eso
cambiaremos el nombre del archivo main.xml por prueba.xml, mediante botón
derecho Refactor -> Rename

- Página 3 -
www.ANDROID-SPA.com

4.2. Ahora se producirá un error en la clase Prueba.java ya que teníamos


asignado el archivo main.xml, así que cambiamos R.Layout.main por
R.Layout.prueba

4.3. Entramos en el archivo prueba.xml y encontramos un LinearLayout y un


TextView ya definidos, es decir, que por defecto tenemos ya creado un Layout
de tipo linear y además como podemos ver con orientación vertical y una vista
de texto que contiene el texto “Hello World, Prueba”. Todo esto lo podemos ver
mediante Desing o Source. Por ahora es más sencillo trabajar mediante Source
sobretodo si estás acostumbrado a XML, y para ver si el árbol creado (sobretodo
en proyectos más complejos) será más recordable mirar el Design. Aunque las
dos opciones son compatibles para trabajar.

4.4. Ahora mismo como podemos ver tenemos un programa que incluye el texto
“Heelo World, Prueba”, así que cambiaremos ese texto por “Hola mundo” y lo
ejecutaremos, de esta manera comprobaremos que ese texto es el que sale por
pantalla.

4.5. Una vez que ya hemos visto que el texto ha sido añadido, después de
</TextView> añadiremos un botón, que es de tipo <Button>, para añadirlo es
necesario introducir los parámetros del Layout que son obligatorios y del mismo
botón si los requiriera. Añadimos el siguiente código (entre </TextView> y
</LinearLayout>):

<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Pulsar"
/>

Con esto lo que hacemos es definir una clase Button, dentro del Layout definido
que ya anteriormente en Prueba.java lo hemos asignado a la Activity principal.

Además hay que asignarle los dos parámetrosque requiere el Layout,


layout_width y layout_height que nos indica donde va a ir colocado el botón y el
texto que va a llevar el botón, aunque este último en principio no es obligatorio.

Ahora ya sabemos como añadir elementos a la pantalla, así que ahora debes
probar a añadir otras clases y mostrarlas en la pantalla, un CheckBox, etc…

4.6. Muchas veces en vez de asignar el texto directamente queremos que lo coja
de una variable porque puede que con alguna función de la aplicación cambie.
Por eso ahora vamos a pasar a crear una variable String y a que el texto “Hola
Mundo” cambie por el que hayamos asignado a esa variable.

Para ello vamos al archivo strings.xml y vemos en XML que tenemos


<resources> que es donde van a ir todas las variables que vayamos a asignar en
este proyecto. Vemos que ya hay una variable String creada que es la que da el
título a la aplicación y que nos sale cuando ejecutamos en el simulador.

- Página 4 -
www.ANDROID-SPA.com
Para crear otra variable creamos un <string>, le asignamos un nombre y
añadimos el valor:

<string name=”textoArriba”>Este es el texto de arriba que antes


decía: Hola mundo>
</string>

Ya tenemos la variable creada, así que ahora vamos a asignarla al TextView que
tenemos, para ello volvemos a prueba.xml y dentro del TextView modificamos
el parámetro text y en vez de asignarle un texto directamente le asignamos el
String que acabamos de crear, para ello ponemos:

“@string/textoArriba”

Con esto indicamos que tiene que coger el valor del string cuyo identificador
(name) es textoArriba.

Si ejecutamos comprobamos que ya sale el nuevo texto, y de la misma manera podemos


añadir el texto al botón, o cambia el string del título de la aplicación.

5. Añadir funcionalidad al botón

Ahora ya que tenemos la primera parte realizada y tenemos un texto y un botón de


prueba vamos a añadirle un Listener al botón para que realice alguna acción. En este
caso lo que queremos que haga es que pase a otro View que crearemos al igual que este.

5.1. Creamos una nueva clase que se llame Prueba2.java y que sea igual a la
clase Prueba.java, para eso creamos la nueva clase y copiamos y pegamos de
Prueba aPrueba2, cambiando el nombre de la clase.

- Página 5 -
www.ANDROID-SPA.com

5.2. Ahora estamos utilizando la misma visualización que la Prueba porque está
redirigido al XML prueba.xml, así que creamos un nuevo XML que se llame
prueba2.xml, y le añadimos el código que inicialmente nos da el plug-in de
android:

<?xml version="1.0" encoding="utf-8"?>


<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/textoPrueba2"
/>
</LinearLayout>

Además de eso como se puede ver hemos asignado un string al TextView que
tenemos, así que en el archivo string.xml es necesario crear una nueva variable
que sellame textoPrueba2 y meterle el texto que queramos, un ejemplo:

<string name=”textoPrueba2”>Esta es otra ventana</string>

5.3. Ahora redirigimos en Prueba2.java a prueba2.xml para que no sea similar a


la primera ventana.

5.4. Ya tenemos terminada la segunda clase, ahora falta indicar al botón que
cuando se pulse queremos ir a la otra ventana. Para ello hay que meter código en
el archivo Prueba.java

5.4.1. Añadimos un botón en el main y le asignamos el botón que ya


tenemos hecho en XML mediante id. Para que reconozca la
identificación tenemos que habérsela asignado previamente al botón, que
podeos hacerlo en prueba.xml y después de Button añadimos la
identificación:

id=”@+id/botonPrueba”

5.4.2. Para crear el botón y asignarle el del XML usamos el siguiente


código, que se añade después del setContentView:

Button botonArriba = (Button)findViewById(R.id.botonarriba)

5.4.3. Ahora tenemos que asignarle una función de escucha, para que se
ejecute cuando el botón sea pulsado. Para ello le asignamos al botón la
función pulsarBoton por ejemplo, y después la crearemos.

botonArriba.setOnClickListener(pulsarBoton);

- Página 6 -
www.ANDROID-SPA.com
5.4.4. Creamos la función pulsarBoton que será de tipo OnClickListener,
y dentro de ella incuimos el void onClick(), para que se ejecute lo de
dentro de esa función cada vez que se pulse el botón.

Así que después del void principal onCreate pero dentro de la clase
Prueba añadimos:

private OnClickListener pulsarBoton = new OnClickListener()


{
public void onClick(View v)
{
//código a ejecutar cada vez que se pulsa el botón
}
};

5.4.5. Pasamos a crear el código para que cambie de ventana. Para pasar
a otra activity en android necesitamos crear un Intend, que será en el que
carguemos la clase Prueba2.java, y ya después asignarle a la actividad el
Intend que hemos creado y terminar, para que salga por pantalla la nueva
asignación del intend.

Intent intent = new Intent();


intent.setClass(Prueba.this, Prueba2.class);
startActivity(intent);
finish();

5.4.6. Es necesario añadir algunos import que mediante control+shift+O


se cargan automáticamente, deberían ser estos:

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;

5.5. Ahora hay que añadir la actividad que hemos creado en el archivo general
de XML llamado AndroidManifest.xml, en el que se estructurará de la misma
manera, y lo que tenemos que hacer es añadir otra actividad, es decir, la
Prueba2. Para ello copiaremos y pegaremos la actividad de Prueba y le
cambiaremos el nombre, teniendo así definidas las dos. Si no se hace esto dará
error al pasar de una aplicación a otra ya que no encontrará Prueba2, aunque
Prueba se ejecute normalmente.

<activity class=".Prueba2" android:label="@string/app_name">


<intent-filter>
<action
android:value="android.intent.action.MAIN" />
</intent-filter>
</activity>

- Página 7 -
www.ANDROID-SPA.com

Ejecutando ya debería mostrar la primera claveque habíamos creado anteriormente y la


siguiente tras pulsar el botón.

Cualquier error o problema que veáis podéis preguntar o indicar en el foro de


http://www.Android-Spa.com

www.Android-Spa.com
Powered by Android-Spa Team
JaVaK, Lancelot, Avalon

- Página 8 -