Unlimited WordPress themes, graphics, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Android SDK
Code

Introducción al desarrollo en Android

by
Length:LongLanguages:

Spanish (Español) translation by CYC (you can also view the original English article)

Tuts+ cubrirá todas las principales plataformas móviles: iPhone, Windows, Android y Blackberry. Hoy veremos el desarrollo de Android: explicando por qué las personas han elegido trabajar con Android y brindando una descripción general del Eclipse IDE y sus perspectivas de Java, DDMS y depuración. ¡Finalmente, aprenderás cómo comenzar a crear tu primera aplicación Android!

Tutoriales de Android 101:

¿Qué es Android?

Android es un sistema operativo móvil de código abierto que combina y construye sobre partes de muchos proyectos de código abierto diferentes. ¿Qué significa esto para ti como desarrollador? Tienes acceso al código fuente de la plataforma que se está ejecutando en el teléfono. Esto puede ayudarte a comprender mejor cómo funcionan los controles de interfaz y las otras piezas. Si encuentras un error, también puedes enviar un parche para el problema, aunque esta es una práctica más avanzada. Google también ha reunido a un gran grupo de empresas (llamado Open Handset Alliance) que contribuyen y usan el sistema operativo Android en sus dispositivos de hardware. Esto significa que existe un soporte de toda la industria para el sistema operativo de Google, que promete una amplia adopción entre proveedores conocidos.

¿Por qué Android?

El desarrollo de la plataforma Android presenta muchas ventajas:

  • Cero costos iniciales para comenzar el desarrollo. Las herramientas de desarrollo para la plataforma se pueden descargar gratis, y Google solo cobra una pequeña tarifa para distribuir aplicaciones en Android Market (ahora es Play Store).
  • Libertad para innovar. El sistema operativo Android es una plataforma de código abierto basada en el kernel de Linux y múltiples bibliotecas de código abierto. Además de crear aplicaciones para ejecutar en dispositivos Android, los desarrolladores también pueden contribuir o ampliar la plataforma.
  • Libertad para colaborar. Los desarrolladores de Android no están obligados a firmar una NDA y se les anima a colaborar y compartir el código fuente entre ellos. Según una encuesta de Black Duck Software, la cantidad de aplicaciones y bibliotecas de código abierto creció a una tasa del 168% de 2008 a 2009, más rápido en Android que en cualquier otra plataforma. Esto significa más código que puedes reutilizar en tus propios proyectos para llevarlos al mercado mucho más rápido.
  • Modelo abierto de distribución. Se aplican muy pocas restricciones al contenido o la funcionalidad permitida en el Android Market de Google, y los desarrolladores también pueden distribuir sus aplicaciones a través de otros canales de distribución.
  • Soporte multiplataforma. Hay una gran variedad de dispositivos de hardware que funcionan con el sistema operativo Android, incluidos muchos teléfonos y tabletas diferentes. El desarrollo para la plataforma puede ocurrir en Windows, Mac OS o Linux.
  • Soporte multiportadora. Una gran cantidad de operadores de telecomunicaciones actualmente ofrecen teléfonos con Android.

Los requisitos previos antes de continuar con este artículo incluyen:

El IDE de Eclipse

Eclipse es un entorno de desarrollo integrado (IDE) complejo, multilingüe y extensible. La curva de aprendizaje puede ser pronunciada, pero el poder del entorno puedes aumentar tu eficiencia.

Después de abrir Eclipse por primera vez, selecciona un espacio de trabajo para guardar tu proyecto. Verás una pantalla de presentación con múltiples íconos. Selecciona la opción "ir al banco de trabajo", y se te presentará la pantalla de proyecto predeterminada.

Suponiendo que ya has instalado el complemento Eclipse ADT, tendrás que configurar Eclipse para el desarrollo de Android configurando manualmente la ruta de archivo para el SDK de Android. Para hacerlo, selecciona Eclipse > Preferencias en la barra de herramientas principal, y luego selecciona Android en el cuadro de diálogo que aparece. Actualiza la opción "Ubicación del SDK" para que apunte al directorio donde instalaste el SDK. Ahora deberías tener el IDE configurado para el desarrollo de Android.

Es importante tener en cuenta que Eclipse utiliza algo llamado "perspectivas" para agrupar tareas comúnmente utilizadas. Las perspectivas de conmutación cambiarán partes del menú y las barras de herramientas, y mostrarán y ocultarán las vistas relacionadas con ellas. Las perspectivas se pueden abrir haciendo clic en el botón Abrir perspectiva o seleccionando Ventana > Abrir perspectiva. Algunas perspectivas que usarás con frecuencia incluyen Java, Depuración y DDMS.

The Java Perspective

La perspectiva de Java es la perspectiva predeterminada en Eclipse, y es donde probablemente pasarás la mayor parte de tu tiempo.

Java Eclipse Android Development

Entre las vistas más importantes en esta perspectiva se encuentra la vista Explorador de paquetes, que se encuentra por defecto en la columna de la izquierda del banco de trabajo. Esta vista es una descripción general de todo tu proyecto. También muestra los estados de los archivos individuales con respecto a problemas de compilación, control de versiones, etc.

Otra vista importante en la perspectiva de Java es la vista Problemas, por defecto ubicada en el panel central inferior del banco de trabajo. Aquí es donde encontrarás advertencias de compilación y errores en la lista. Puedes hacer doble clic en un elemento para llevarlo directamente al error en el archivo Java o XML.

La perspectiva DDMS

DDMS es la abreviatura de Dalvik Debug Monitor Server, que se comunica con los servicios de bajo nivel de un dispositivo o emulador. Cambia ahora a la perspectiva DDMS seleccionando Ventana > Abrir perspectiva > DDMS.

DDMS Eclipse Android Development

La vista Dispositivos, ubicada en la columna izquierda del banco de trabajo, es donde verá los dispositivos Android disponibles para tu computadora. Esto incluye tanto los teléfonos conectados a tu máquina como los emuladores en ejecución. Debajo de cada dispositivo, verás todos los procesos en ejecución. Hay botones de barra de herramientas en la vista para iniciar el depurador en un proceso, obtener información sobre montones e hilos, detener procesos y tomar capturas de pantalla.

La vista Control del emulador, también en la columna izquierda, te permite hacer lo siguiente:

  • Establecer el estado de la conexión de voz.
  • Establecer el estado, la velocidad y la latencia de la conexión de datos.
  • Simular una llamada entrante o un SMS desde un número de teléfono suministrado.
  • Proporcionar un conjunto simulado de puntos para el GPS a través de un punto de latitud/longitud o un archivo GPX/KML.
  • Usando la vista del Explorador de archivos, accesible como una pestaña en la esquina superior derecha de la columna central, puedes explorar el sistema de archivos de un dispositivo. Para un emulador o un teléfono rooteado, tendrás acceso a los directorios/datos privados y /system. Para teléfonos no rooteados, solo tendrás acceso a /sdcard.

    La perspectiva de depuración

    La perspectiva de depuración proporcionará información detallada sobre tus aplicaciones. Cambia ahora a la perspectiva de depuración seleccionando Ventana > Abrir perspectiva > Depurar.

    Eclipse Debugging Android Development

    La vista de depuración te mostrará las aplicaciones en ejecución que se analizan y, cuando se detiene en un punto de interrupción o excepción, la pila de llamadas de la aplicación también. La vista de variables muestra el contenido de cualquier variable local en el punto de interrupción actual.

    La vista LogCat en la esquina inferior derecha muestra toda la salida de registro usando la clase android.util.Log. Puedes filtrar en función de etiquetas o diferentes niveles de registro como depuración, información, error, etc.

    Tu primera aplicación

    Para comenzar a crear una aplicación de Android, vuelve a la perspectiva de Java y selecciona Archivo > Menú > Proyecto de Android. Al hacerlo, se iniciará el asistente de creación de aplicaciones y te solicitará que ingreses metainformación sobre tu proyecto en tres categorías: Contenido, Objetivo de compilación y Propiedades.

    Android Application Wizard

    Nombra la aplicación "DemoAplicación" y abandona la sección Contenido con todos los valores predeterminados.

    La sección Build Build define la versión del SDK con la que se compilará nuestra aplicación de demostración. Para este tutorial, elige API nivel 4 (Android 1.6) porque se ejecutará en una amplia gama de hardware y la API nos permitirá manejar diferentes resoluciones de pantalla.

    A continuación, se encuentra la sección Propiedades, que proporciona al asistente más información sobre qué clases generar y qué nombre debe tener. La configuración del nombre de la aplicación se mostrará debajo del icono de la aplicación, así como de la barra de título de la aplicación cuando se ejecute. El nombre del paquete proporciona el espacio de nombres base de Java para las clases generadas. Para crear una actividad predeterminada, asegúrate de que Crear actividad esté marcada y proporciona un nombre de actividad. La última opción es la versión Min SDK. Este valor determina qué versión de Android necesita estar en un teléfono para que esta aplicación sea instalable. Esto generalmente se establece en el mismo nivel de API que eligió en Build Target.

    Una vez que ingreses toda esta información y haz clic en Terminar, tendrás una aplicación básica de "Hello World" que está casi lista para ejecutarse en un teléfono o un emulador. Antes de configurar un emulador y ejecutar la aplicación, tómate unos minutos para examinar el contenido de plantilla estándar generado:

    Default project content view

    El archivo AndroidManifest.xml

    El archivo AndroidManifest.xml proporciona metadatos sobre tu aplicación que el sistema operativo Android necesitará para ejecutar la aplicación correctamente. El nombre de la aplicación, utilizado tanto para el icono de la aplicación como para la barra de título de la actividad, y el ícono de la aplicación se definen en Atributos de la aplicación. Notarás que el campo Nombre en realidad no contiene el nombre del texto, sino "@string/app_name" en su lugar. Esta es una referencia de cadena y se puede usar cada vez que se espera una cadena. El texto de la cadena real se define en uno de los archivos XML que se encuentran en la carpeta res/values. El asistente de creación de aplicaciones generó un archivo llamado strings.xml.

    La sección Nodos de aplicación es donde se definen todas las actividades para la aplicación. La actividad única de nuestra aplicación se llama MainActivity y se enumera aquí.

    La carpeta /res

    La carpeta res es donde se almacenan la mayoría de los recursos de la aplicación. Las principales categorías de contenido incluyen drawables, layouts, y values.

    Los Drawables son generalmente imágenes de mapas de bits en forma de .PNG. Los drawables también pueden ser imágenes de nueve parches, que son .PNG con datos especiales en la imagen que ayudan a Android a hacer un mejor trabajo al estirar la imagen. Se pueden crear imágenes de nueve parches con las herramientas de nueve parches del SDK o con una herramienta de creación de imágenes como Photoshop.

    Los diseños son donde defines tus pantallas. Para ver el XML del diseño en la pantalla, haz clic en la pestaña main.xml.

    Los values o valores son donde defines (en XML) tus colores, dimensiones, cadenas y estilos utilizados a nivel global. El archivo strings.xml te permite agregar y editar valores para su proyecto.

    La carpeta /gen

    Aquí es donde se genera el código para todos los recursos definidos en su carpeta de res. Así es como puedes acceder a los diseños y controles definidos en tu código.

    La carpeta /src

    La carpeta src contiene todo tu código fuente personalizado, agrupado en paquetes. Los paquetes están simplemente ahí para ayudar a categorizar tu código fuente en grupos lógicos (y manejables).

    La carpeta /assets

    La carpeta assets es un lugar para almacenar varios archivos a los que necesitas acceder en tu código como datos sin formato. Todos los archivos en la carpeta res tienen métodos para cargar los tipos específicos, mientras que la única manera de cargar algo desde los recursos es abrirlo programáticamente como un archivo.

    Crear un dispositivo virtual Android

    Los dispositivos virtuales hacen posible ejecutar y probar tu código sin tener un teléfono Android real. Debido a que hay varias versiones diferentes del sistema operativo al que puedes orientarte, eventualmente necesitarás crear múltiples versiones de dispositivos virtuales, pero por ahora, crearemos uno utilizando el nivel 4 de la API (1.6). Puedes hacerlo a través del Administrador de AVD. Desde la barra de herramientas principal, selecciona Ventana > SDK de Android y Administrador de AVD.

    Android Development Virtual device creation

    Una vez que hayas abierto el administrador y estés viendo tu lista de dispositivos virtuales, haz clic en el botón "Nuevo" para crear tu dispositivo virtual.

    En general, nombro mis dispositivos virtuales utilizando el número de versión del SO junto con la resolución preestablecida que elijo, por lo que en este caso, 1.6-hvga. También es bueno crear una tarjeta SD para el emulador, que generalmente suelo configurar en 16 MB, a menos que sepa que necesitaré más espacio. Haz clic en el botón Crear AVD y verás tu dispositivo en la lista.

    Android Development Configuring virtual device

    Continúa e inicia el dispositivo virtual seleccionándolo y haciendo clic en el botón "Inicio".

    Ejecución y depuración de tu primera aplicación

    Eclipse, junto con las herramientas para desarrolladores de Android, ofrece un excelente entorno para las aplicaciones de depuración. Para la depuración, usarás las perspectivas de Depuración y DDMS. La perspectiva de depuración se usará para recorrer el código, ver valores de variables y establecer puntos de interrupción. La perspectiva de DDMS se usará para controlar el emulador, ver los hilos y ver la asignación de memoria.

    Como esta es la primera vez que ejecutamos la aplicación, necesitamos crear algo llamado configuración de ejecución. Las configuraciones de ejecución son las configuraciones que Eclipse usará para ejecutar (o depurar) tu aplicación. Cada aplicación puede tener múltiples configuraciones. Uno podría estar configurado para desplegarse y ejecutarse siempre en un teléfono conectado, y otro podría configurarse para ejecutarse solo en una instancia específica del emulador. En este punto, desconecta tu teléfono si lo tienes conectado a tu máquina para que puedas ver primero la aplicación que se ejecuta en el emulador.

    Para crear la configuración de ejecución, selecciona DemoApp en el Explorador de paquetes, luego elige Ejecutar > Ejecutar en el menú principal. En el siguiente cuadro de diálogo, selecciona Aplicación de Android y haz clic en Aceptar. El emulador que creamos antes debería iniciarse. Cuando el emulador se inicia por primera vez, puede aparecer con la pantalla de bloqueo; simplemente haz clic en el menú para llevarlo a tu nueva aplicación. ¡Ahora deberías ver el texto "Hello World" en la pantalla!

    Android Hello World Screen

    Nuestro siguiente paso será establecer un punto de quiebre. Abre el archivo MainActivity.java haciendo doble clic en él en el Explorador de paquetes. Se encuentra en  /src > com.demo.demoapp Luego, en la línea que contiene:

haz doble clic en la columna gris a la izquierda de la línea (donde verás el círculo azul en la captura de pantalla a continuación). Si tuviste éxito, ahora debería haber un círculo azul que indica el punto de interrupción.

Setting a breakpoint in Eclipse for Android

Ahora cambia a la perspectiva de depuración seleccionando Ventana > Abrir perspectiva > Depurar. Para depurar la aplicación, selecciona Ejecutar > Depurar.

En la vista Debug, deberías ver una lista de elementos en DalvikVM/Thread. Esta es la pila de llamadas ya que ahora estamos detenidos en el punto de interrupción que establecimos antes. La vista de variables mostrará todas las variables locales en el punto de interrupción actual. Puedes expandir el ítem "this" para ver todos los valores de nuestra instancia de MainActivity.

Debugging information

Finalmente, LogCat mostrará toda la información de registro proveniente del emulador.

Para continuar ejecutando la aplicación, puedes usar la barra de herramientas en la vista de depuración (como se ve en la captura de pantalla anterior), o elegir las mismas acciones en el menú de ejecución. Elige Ejecutar > Reanudar para que la aplicación continúe ejecutándose.

Conclusión

Este tutorial te llevó a través de las diversas partes de Eclipse y ADT con las que debes familiarizarte para comenzar el desarrollo de Android. Aunque no cubrimos los detalles del código fuente de la aplicación, es importante comenzar con una sólida comprensión de las herramientas que usarás todos los días durante el desarrollo. En próximos artículos, continuaremos profundizando en la escritura de aplicaciones progresivamente complejas y creando una interfaz de usuario convincente.

Tutoriales relacionados:

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.