jueves, 24 de febrero de 2011

Tutorial del primer proyecto en android.

Vamos a crear una serie de tutoriales en los que cubriremos la estructura esencial de una aplicación en Android. En el primer tutorial vamos a ver como crear una aplicación desde cero, el típico "Hola mundo", pero con un poquito de funcionalidad.


Conceptos esenciales


Hay varios conceptos esenciales que por lo menos te deben sonar para entender un poco de lo que pasa aqui:

  • View : Las Views (vistas) son elementos de la interfaz que se usan para construir la interfaz de usuario, por ejemplo: botones, imagenes, un label... Si estás familiarizado con views de J2EE y Swing sabrás lo que son las vistas en Android
  • Activity : Una activity normalmente es una pantalla de tu programa, por ejemplo, creamos una aplicación con una pantalla de splash, una pantalla principal, pues serían dos "Activitys", una para la pantalla de splash y otra para la principal. Normalmente contienen una o mas Vistas, pero también puede haber que no contengan nada visual, como por ejemplo los servicios.
  • Intent : Éste es un concepto que me costó bastante entender y que volveremos en un tutorial específico sobre el tema. Un "Intent" es la intención de hacer algo: mandar un sms, comenzar una Activity, Mostrar los Contactos, Mostrar una web... Ésto se entiende mejor sobre el terreno. Cuando creas una "intent" en tu programa, no siempre es el mismo programa el que las ejecuta, a veces es el sistema el que las invoca según ciertos eventos.
  • Content Provider : Es la forma que tiene Android de compartir datos entre aplicaciones, puedes definir datos públicos para otras aplicaciones y obtener datos de otras aplicaciones del sistema (por ejemplo: lista de contactos)
  • Services : Son servicios a la antigua usanza. Son procesos que corren en segundo plano y pueden estar corriendo un largo periodo de tiempo. Hay dos tipos de servicios: locales y remotos. Los servicios locales son componentes que solo son accesibles desde la misma aplicación. Los servicios remotos pueden ser accedidos por otras aplicaciones del terminal.
  • AndroidManifest.xml : Es el archivo de configuración de la aplicación, si vienes de J2EE es algo parecido al web.xml. Guarda el nombre de tu aplicación, los servicios que tiene, las actividades que tiene, mucha información en este archivo...
  • Android Virtual Devices : No todo el mundo tiene un teléfono con Android y los AVD son máquinas emuladas con el SDK de Android que te permiten probar en diferentes versiones de Android el programa que estás haciendo.


Creación del proyecto


Primero arrancamos Eclipse y le damos a File -> New Android Project



En este paso tenemos que poner las siguientes cosas en Eclipse

  • Project Name : Un nombre para el proyecto en Eclipse. "HolaMundo" por ejemplo
  • Build Target : La versión de android que vas a usar como base, en este caso, Android 1.6
  • Application Name : Nombre de la aplicación que se verá en nuestro teléfono.
  • Package Name : En este caso: com.pruebas.holaMundo
  • Create Activity : Esto te crea una activity y la pone como actividad principal del programa, o sea, que la arranca al iniciar el programa. En este caso a la activity le hemos puesto el nombre de "Principal".
  • Min SDK Version : Versión mínima del SDK necesaria para correr el programa. Hemos dicho que Android 1.6, que es el 4.

Le damos a Finish y tenemos ya el proyecto creado en Eclipse.



¿Qué es todo esto?


Eclipse nos crea una estructura de directorios como la siguiente




Vamos a repasar los directorios importantes para lo que vamos a ver hoy

  • src : Aqui es donde van los fuentes de nuestro programa
  • gen : Archivos generados automáticamente. No tocar.
  • res : Carpeta donde se guardan los "resources" del programa. Los resources pueden ser imágenes, layouts (pantallas), archivos binarios... todo lo que no sean fuentes.
  • AndroidManifest.xml : Es un archivo de configuración del programa, ahora veremos que se puede poner en él.



Al turrón


Vamos a ver qué código ha generado Eclipse para nosotros.


package com.pruebas.holamundo;

import android.app.Activity;
import android.os.Bundle;

public class Principal extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
}


Ha creado una clase "Principal" que extiende la clase Activity. En el onCreate de la clase llama al onCreate de la clase Activity y luego setContentView(R.layout.main);, Esto hace que se muestre de la carpeta res/layout/main.xml como pantalla.

Veamos qué hay en res/layout/main.xml...







Vamos a hacerlo funcionar. Le damos en el menu a Run -> Run configurations.




En project, le damos a Browse y seleccionamos nuestro proyecto de Eclipse: "holaMundo". Aplicamos y listo.
Ahora le damos a Run->Run y en nuestro teléfono o emulador deberíamos ver ésto



Enhorabuena, ya tienes una aplicación den Android.

En el siguiente capítulo: veremos con un poco de detalle las carpetas y archivos del proyecto.

2 comentarios:

Unknown dijo...

Muy buen blog lo encontré hace poco, quiero aprender a desarrollar para Android y el blog me esta ayudando muchas gracias.

Ánimo y que no caiga :)

Ivan dijo...

no me sale me sale el emulador del telefono pero no mi app no se donde encontrarla pa q se cargue

Publicar un comentario