La columna 80

El blog técnico-personal de Ángel J. Vico… en español

La primera aplicación Android

Posted by Ángel J. Vico en 15 de marzo de 2011

Después de tanto instalar y configurar, ya va siendo hora de entrar de verdad en faena, de empezar a hacer algo que vaya teniendo el aspecto de aplicación Android. Lo malo es que, en este punto de esta especie de curso de Android que se va formando post a post, no sabemos gran cosa sobre cómo son las aplicaciones Android (más allá de que se programan en Java y de que podemos usar Eclipse para crearlas).

No vamos a entrar en demasiados detalles sobre la estructura de un proyecto de aplicación Android o de la propia aplicación a nivel de código. En lugar de eso vamos a crear un proyecto para una nueva aplicación, la vamos a compilar y la vamos a ejecutar tanto en un emulador como en un dispositivo real, todo ello por medio de los asistentes que nos ofrece el plugin ADT para Eclipse. Sí que intentaré explicar el cometido de las opciones que nos ofrecen los distintos asistentes que vamos a utilizar.

Como ejemplo de aplicación utilizaremos el típico hola mundo que se suele usar en estos casos y que se puede generar automáticamente desde el propio ADT. En futuros posts entraremos más en detalle tanto sobre la estructura y contenido del proyecto como sobre la arquitectura software de la aplicación.

Por el momento, esto nos servirá al menos para confirmar que todo está correctamente instalado y configurado (además de divertirnos un rato).

¿Te animas?

Crear la aplicación con el plugin ADT de Eclipse

El proceso, paso a paso, es el que sigue:

  1. Abrimos Eclipse.
  2. Seleccionamos File | New | Project en el menú principal. Se nos muestra un cuadro de diálogo con la lista de asistentes disponibles:
    Selección de asistente
  3. Desplegamos Android y seleccionamos Android Project. Pulsamos Next para iniciar el asistente:
    Asistente proyecto Android nuevo (parte superior)Asistente proyecto Android nuevo (parte inferior)
    Hay que rellenar los datos básicos de la aplicación que vamos a crear:

    • Project name: es el nombre con el que se mostrará nuestro proyecto en la vista Package Explorer de Eclipse. Escribimos HolaMundo.
    • Contents: las opciones de este bloque determinan el contenido inicial que tendrá el proyecto y su ubicación:

      • Create new project in workspace: se creará un nuevo proyecto vacío.
      • Create project from existing source: permite crear un proyecto a partir de código fuente existente. Sirve para convertir en proyectos Eclipse aplicaciones creadas con otras herramientas.
      • Create project from existing sample: permite crear un proyecto a partir de una aplicación ejemplo. Si tenemos ejemplos instalados, podremos escoger uno de ellos en la lista desplegable Samples, pero no antes de que hayamos escogido la versión de Android en el siguiente bloque de opciones.
      • Use default location: esta opción sólo está disponible cuando creamos un nuevo proyecto vacío. Si la seleccionamos, el proyecto se creará en el espacio de trabajo actual, usando lo que hayamos puesto en Project name como nombre del directorio del proyecto. Si no la seleccionamos, podremos especificar nosotros dónde queremos que se creen los archivos del proyecto usando el cuadro de texto Location (se puede usar el botón Browse para localizar el directorio deseado).
        Si estamos creando un proyecto a partir de código existente, esta opción no estará disponible y tendremos que usar el cuadro de texto Location obligatoriamente para indicarle a Eclipse dónde están los archivos con los que debe crear el proyecto.
        En el caso de que estemos creando un proyecto ejemplo, la ubicación ya estará determinada (el directorio de instalación del ejemplo) y no podremos cambiarla.
      Seleccionamos Create new project in workspace y Use default location
  4. Build target: versión de Android para la que se compilará la aplicación. Conviene especificar la versión más baja que contenga las características de la API que queremos utilizar. Cuanto más baja sea la versión, con más dispositivos será compatible nuestra aplicación. En cualquier caso, es algo que se puede cambiar en cualquier momento. Para nuestro hola mundo, escogemos Android 1.5
  5. Properties: propiedades del proyecto:

    • Application name: es el nombre con el que la aplicación aparecerá en Android. Escribimos Hola, mundo.
    • Package name: es el nombre del paquete Java en el que se incluirán las clases de nuestra aplicación. Sirve de identificador de la aplicación, por lo que debería ser único (sobre todo si pretendemos publicar la aplicación en el Android Market). Lo recomendado es utilizar la nomenclatura habitual de Java: com.dominio.aplicacion, donde dominio nos identifica a nosotros o a nuestra empresa y aplicacion a la aplicación que vamos a crear. Para este ejemplo pondremos pruebas.columna80.holamundo
    • Create Activity: si seleccionamos esta opción podemos escribir el nombre de la actividad (para entendernos por el momento, ventana) que se creará cuando se cree el proyecto. Escribimos Principal, para que el asistente nos cree lo básico de la aplicación hola mundo.
    • Min SDK version: mínima versión de Android en la que se podrá instalar la aplicación. Hay que escribir el número de versión de la API Android correspondiente. El número lo podemos ver en la lista de versiones de la sección Build target. Lo habitual es poner el API Level de la versión para la que vamos a compilar la aplicación, aunque es posible crear la aplicación para una versión alta de Android y al mismo tiempo permitir que se instale en versiones anteriores (aunque, en ese caso, habrá que tener cuidado a la hora de utilizar funciones de la API que no existen en las versiones antiguas). En nuestro caso escribimos 3.
    Seleccionamos las opciones y pulsamos Next.
  6. La siguiente ventana del asistente nos permite crear un proyecto para probar nuestra aplicación. En este caso dejamos la casilla Create a Test Project sin seleccionar y pulsamos Finish para crear el proyecto.
    Asistente - Proyecto para pruebas
  7. En la vista Package Explorer debe aparecer nuestro proyecto, con la estructura típica ya creada. Estructura que analizaremos en detalle en el próximo post.
    Package Explorer

Un rápido vistazo a la aplicación

Antes de compilar, vamos a inspeccionar un poco lo que nos ha creado el asistente. No te preocupes si no te queda muy clara alguna cosa, porque ya lo explicaré todo con más detalle en los próximos posts.

El archivo Principal.java (src | pruebas.columna80.holamundo | Principal.java) contiene el código generado para la actividad. El asistente ha sobrescrito el método onCreate de forma que cargue el diseño main.

Para ver el diseño que se cargará, tenemos que abrir el archivo main.xml (res | layout | main.xml). El plugin ADT proporciona un editor visual y otro para el código XML. Ahí podemos ver el aspecto que tendrá la actividad principal de nuestra aplicación: una capa que ocupa toda la pantalla sobre la que se coloca una etiqueta de texto que muestra la cadena @string/hello:
Editor visual para el diseño de la actividadPara ver el contenido de la cadena hay que abrir otro archivo de recursos: strings.xml (res | values | strings.xml). Aquí también tenemos un editor visual y otro para el XML. Podemos ver dos cadenas definidas: hello y app_name. Si seleccionamos la cadena hello en el editor visual podemos cambiar su contenido editando el cuadro de texto Value en el panel derecho:
Editor visual para cadenas de textoSi hacemos cambios en algún archivo, no debemos olvidarnos de grabarlos antes de seguir adelante. El plugin está configurado de forma que cada vez que se guarda algún cambio, el proyecto se compila automáticamente. Los errores, si los hay, se muestran en los editores de texto y en la vista Problems. Para mostrar esta vista, si no está visible, hay que seleccionar Window | Show View | Problems.

Por otro lado, si no queremos que se compile automáticamente, hay que desmarcar la opción Project | Build Automatically del menú principal de Eclipse. Eso hará que se active la opción Build Project, opción que podremos utilizar manualmente cada vez que queramos compilar de nuevo la aplicación.

Crear un dispositivo virtual

Para poder ejecutar la aplicación en el emulador, es necesario crear primero un dispositivo virtual o AVD (Android Virtual Device). Para ello hay que seguir los siguientes pasos:

  1. Seleccionamos Window | Android SDK and AVD Manager:
    Android SDK and AVD Manager
  2. Pulsamos New, para crear un nuevo AVD. Se muestra el siguiente cuadro de diálogo:
    Crear un nuevo AVD
  3. Rellenamos los datos para el AVD:

    • Name: nombre para el AVD. Debería ser algo representativo del tipo de dispositivo que estamos creando, para que resulte sencillo escoger más adelante entre todos los que tengamos.
    • Target: versión de Android que tendrá instalada el dispositivo virtual. Para poder ejecutar la aplicación, el dispositivo tendrá que tener una versión de Android igual o superior a la versión declarada como mínima para instalar la aplicación (Min SDK version en la configuración del proyecto).
    • SD Card: permite simular una tarjeta SD, bien sea especificando un tamaño para crear una especie de disco virtual, o bien especificando un archivo de imagen externo. Si nuestra aplicación va a almacenar datos en la SD, tendremos que asegurarnos de que la que use el emulador tenga espacio suficiente.
    • Skin: Apariencia del emulador, incluyendo la resolución de la pantalla. Se puede escoger una de las instalados en el SDK (que incluyen marco para la pantalla y disposición de teclado y botones) o simplemente especificar una resolución y dejar que el emulador defina el resto.
    • Hardware: permite definir el resto de propiedades del dispositivo. Para añadir una propiedad hay que pulsar el botón New, escoger la propiedad que queremos configurar y pulsar OK.
      Nueva propiedad hardware
      Después se puede cambiar el valor de la propiedad pinchando en la columna Value y seleccionando o escribiendo el valor deseado.
    Cuando estén todos los valores correctamente rellenados, podemos pulsar en Create AVD. Una vez creado no es posible cambiar la configuración del AVD, será necesario crear uno nuevo.
  4. Ya podemos cerrar el AVD Manager.

Ejecución de la aplicación en un AVD

Primero vamos a ejecutar la aplicación en un emulador, así que es mejor que no tengamos el teléfono conectado al ordenador.

  1. Hay que seleccionar el proyecto en la vista Package Explorer y escoger Run | Run en el menú principal o pulsar el botón Run (flecha tipo “play” blanca sobre círculo verde).
  2. La primera vez que se intenta ejecutar una aplicación se muestra el cuadro de diálogo Run As:
    Run As
  3. Tenemos que escoger el tipo de aplicación que estamos tratando de ejecutar. En nuestro caso: Android Application. Seleccionamos la opción y pulsamos OK.
  4. Si sólo tenemos un AVD definido, se arrancará el emulador directamente con esa configuración (lo que puede llevar un rato) y se ejecutará nuestra aplicación en él.
    Emulador arrancandoEmulador arrancado
  5. Si hay varios AVDs, el plugin escogerá el que considere más apropiado según la versión de Android objetivo para nuestra aplicación y lo ejecutará en ese emulador. No obstante, si ya tuviéramos un emulador abierto, la aplicación se ejecutaría en ese (siempre y cuando sea compatible con la versión Android del emulador abierto). Para decidir en qué AVD queremos ejecutar la aplicación hay que modificar la configuración predeterminada del plugin, como se explica en el siguiente apartado.

Como el emulador tarda bastante en arrancar, es mejor dejarlo abierto mientras estemos trabajando en el proyecto, para ahorrarnos tiempo durante las numerosas pruebas que seguramente tendremos que hacer.

Ejecución de la aplicación en un dispositivo real

Lo primero, obviamente, es conectar el dispositivo y que el SDK lo reconozca, como ya vimos en un post anterior. Si el dispositivo está conectado, cuando lanzamos a ejecutar la aplicación siguiendo los mismos pasos descritos en el apartado anterior, el plugin ADT lo ejecuta directamente en el dispositivo, sin ni siquiera preguntar primero.

Este comportamiento se debe a la configuración predeterminada del plugin ADT. Si queremos tener mayor control sobre en qué dispositivo, virtual o real, queremos ejecutar nuestra aplicación tenemos que cambiarla:

  1. Nos aseguramos de tener nuestro proyecto seleccionado en la vista Package Explorer.
  2. Seleccionamos la opción Run | Run Configurations en el menú principal de Eclipse.
    Run Configurations
  3. Seleccionamos la pestaña Target.
    Run Configurations - Target
  4. Aquí tenemos dos opciones:

    • Podemos dejar la opción Automatic seleccionada y escoger qué AVD queremos que se utilice para ejecutar nuestra aplicación. Haciendo esto la aplicación se ejecutará siempre en el AVD seleccionado, incluso aunque haya un dispositivo real conectado.
    • La otra opción es seleccionar Manual. En ese caso, cuando ejecutemos la aplicación se nos mostrará siempre una ventana donde podremos escoger el dispositivo real o el AVD donde queremos que se ejecute:
      Android Device Chooser
  5. Pulsamos Apply para guardar los cambios. Luego podemos pulsar Close para cerrar la ventana o Run para cerrarla y, además, ejecutar la aplicación en ese mismo momento.

Recuerda que en esta página dispones de enlaces a todos los artículos sobre Android que he publicado en La columna 80.

9 comentarios to “La primera aplicación Android”

  1. Artur said

    Fantástico, de lo mejorcito que he encontrado sobre android, claro, conciso, y explicativo. Absolutamente genial, muy bueno

    Sigue haciendo muchos más.

    Bravo!

  2. meropsapiaster said

    Muy completo el artículo. En el siguiente enlace hay una guía un poco más breve: http://davidmaestre.com/2011/03/primera-aplicacion-android.html

  3. David said

    buenisimo!! pero yo tengo un problema, tengo un tablet pc y no puedo conecarlo al pc asi que no lo puedo correr. ¿Alguna sugerencia de como hacerlo??

    • Para probar la aplicación puedes transferir el archivo apk compilado a la tablet, usando una tarjeta SD o un cable USB (si tiene la opción), e instalarlo desde un navegador de archivos como Astro o ES Explorer.

      El apk lo encontrarás en la carpeta bin.

      • David said

        gracias man
        pero eso es exactamente lo que hago y no me lo instala. ¿como puedo comprobar si estoy poniendo un min sdk version correcto y todas esas casillas que se llenaron

        • David said

          el problema estaba en el api level por eso no me lo instalaba en la tablet. ahora si voy a ponerme a hacer mi tarea haha
          gracias angel, saludos

  4. eder said

    muy buen post, sabe como conectar alguna app a facebook o twiiter haci como que le ponga un me gusta y salga en su pagina de facebook o twitter

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s