Android-Presentación del curso

Todos hemos oído hablar de Android, el sistema operativo de la mayoría de móviles y tablets existentes. Android es uno de los sistemas operativos que hacen que un móvil sirva para algo más que hablar por teléfono, y también el que nos ha traído tablets baratas…

Viendo todo eso, parece que saber programar uno de estos dispositivos puede ser a todos los efectos interesante, y aquí vamos a empezar a ver como se hace.

Programando Android

Ante todo, veamos como lo hacemos:

La programación sobre Android, esta basada en Java, por lo que es necesario que conozcáis ese lenguaje de programación, hace tiempo escribí una guía que os puede ser sutil:

Programación en java

y sobre esto, disponemos de una API (del inglés Application Programming Interface) para acceder a los periféricos característicos de estos dispositivos.logoAndroid

Si bien podemos escribir programas con un «Bloc de Notas», no es menos cierto que se hace terriblemente complicado trabajar así, es por eso que aparecen los IDE (Entorno de desarrollo integrado).

Un IDE es básicamente un editor orientado a uno o varios lenguajes de programación, que te ayudan a terminar las instrucciones, te facilitan los métodos de una clase, revisa la sintaxis para avisarte de errores, y normalmente viene acompañado de herramientas de FTP para enviar los programas a su destino, herramientas de exploración, y de depuración. Todo ello pensado para facilitar el trabajo del programador.

Los IDEs

Hasta ahora, estábamos usando como IDE Eclipse, al que se le añadía un plugin (ADT), instalaríamos también el «Android SDK» que es un conjunto de herramientas que nos ayuda a compilar los programas que hacemos, y a depurarlas en un emulador que también incorpora; así mismo, incluye la documentación de las APIs, y ejemplos de uso.

Aunque hasta ahora siempre he utilizado Eclipse, y teneis detalles de como descargarlo para maquinas windows, en el mismo articulo que os comentaba sobre programacion Java, y si es para Linux en:

Preparando mi Ubuntu con Eclipse-Instalacion

y

Preparando mi Ubuntu con Eclipse – Configuración

Pero… Google nos está ofreciendo un IDE de desarrollo,  y creo que para un curso que comienza, vale la pena que nos embarquemos en aprender con la ultima tecnología, asi que vamos a instalar Android Studio.

En la instalación del SDK es conveniente como mínimo, instalar los siguientes paquetes:

  • SDK Platform – Plataforma de desarrollo
  • SDK Tools – Herramientas genéricas – Descargar la ultima versión
  • SDK Platform-Tools – Herramientas dependientes de versión

y es recomendable añadir:

  • Documentación de APIs y clases de Android
  • Ejemplos de uso
  • Google APIs: Soporte para aplicaciones de Google (p.ej. Maps)
  • Imagen del sistema: Imagen compilada de Android, para poder ejecutar en el emulador. (Podemos bajar las versiones que consideremos conveniente para realizar nuestras pruebas en distintas versiones
  • Fuentes del SDK, para seguir la ejecución de las clases internas durante la depuración

Todo esto, lo hacemos cuando instalamos nuestro ID; en nuestro caso hemos optado por trabajar con «Android Studio» y todo esto lo hacemos en la instalación que hemos descrito anteriormente en:

Los Proyectos

Cualquier proyecto Android tiene una estructura de carpetas perfectamente organizada en las que se guarda el código fuente, lo gráficos, los textos, los archivos de configuración…

Una vez compilados los fuentes, todo el proyecto se comprime en un fichero .apk equivalente a un fichero .exe de windows.

Hay tres tipos de proyectos:

  • Proyectos de Android – Es el contenedor de la aplicación, código fuente, resources,…
  • Test – Proyectos que contienen código para probar la aplicación. Android dispone de un sistema de pruebas basado en Junit, para probar la aplicación. Extiende la API de Junit (framework que permite diseñar y ejecutar pruebas unitarias para aplicaciones escritas en Java)
  • Librerías – Contienen código y recursos que son compartidos y pueden ser invocados desde otros proyectos Android, sin embargo este código no se puede instalar en el dispositivo, y se incorpora al fichero .apk del proyecto en donde se utiliza

Proyecto de Android

En un proyecto Android, pueden existir las siguientes carpetas:

  • src/ – Contiene todo el código fuente del proyecto
  • bin/ – Contiene el resultado de la compilación, y aqui se dejará el fichero .apk
  • jni/ – Código nativo desarrollado con Android NDK
  • gen/ – Ficheros de java generados por ADT, como los R.java
  • assets/ – para almacenar cualquier tipo de fichero susceptible de ser usado por la aplicación. Estos ficheros se almacena en el .apk exactamente igual, y pueden ser recuperados por la aplicación, como si fuera cualquier carpeta del sistema de ficheros
  • res/ – Contiene archivos de recursos, agrupados en:
    • anim/ – para ficheros XML que definen objetos animados
    • color/ – para ficheros XML que describen colores
    • drawable/ – para archivos de recursos gráficos (gif, png, jpg,…) y archivos XML de definición de objetos visuales
    • layout/ – para archivos XML de definición de interfaces gráficas
    • menu/ – archivos de configuración de menús
    • raw/ – Aquí se situaran ficheros de forma alternativa a assets. La diferencia radica en la forma de gestionarlos. Los ficheros aquí ubicados, se deben referenciar por medio de un identificador de una clase R, Sería un buen lugar para dejar ficheros multimedia (MP3, Ogg,…)
    • values/ – para archivos XML de definición de recursos de diferentes tipos, como cadenas de texto, colores,…Los ficheros de esta carpeta, no se referencia por nombre, si no que es definido en el momento de usarlo
    • xml/ – resto de ficheros XML  utilizados para configurar los componentes de la aplicación como PreferenceScreen, AppWidgetProviderInfo, SearchabilityMetadata
  • libs/ – Librerias privadas

Además de esta estructura, en un proyecto Android pueden existir los siguientes ficheros.

AndroidManifest.xml – En este fichero se describe la aplicación, y se indican los «activities, services, intent receivers, and content providers», así como los permisos que necesita y las características del dispositivo que se van a utilizar y la versión de la API.

project.properties – información de la configuración del proyecto y la gestión de versiones

local.properties – información de la configuración de la máquina de desarrollo, datos como la ruta al SDK. No debe encontrarse bajo la gestión de versiones.

Si utilizamos «ant» para compilar, necesitaremos dos ficheros más

ant.properties – Datos de configuración para la generación del proyecto, para sobregrabar los que tenga establecido por defecto «Ant»

buil.xml – Fichero de Ant con datos para generar el proyecto

Con esto finalizamos la primera parte de la presentación del mundo Android, en el siguiente articulo, acabaremos esta presentación, para poder empezar a programar…

Acerca de Miguel Garcia

Programador, Desarrollador web, Formador en distintas areas de informatica y director de equipos multidisciplinares.
Esta entrada fue publicada en Android, Formacion. Guarda el enlace permanente.

4 respuestas a Android-Presentación del curso

  1. carlos dijo:

    Disculpa Miguel, comenzaras a dar un curso sobre programación Android.? Gracias.

    • Miguel dijo:

      Lo publicare…
      El curso es presencial pero para un cliente, y publicare el manual que vamos a utilizar…
      Si eres capaz de organizar un curso,yo estoy disponible para impartirlo….

      • Carlos dijo:

        No , no lo soy , es que apenas si conozco algo de programacion estructurada y tengo intenciones de aprender a programar en android , me interesa lo que estás escribiendo y me picó la curiosidad si se trababa de un curso.
        Veré el manual entonces.
        Desde ya , muchísimas gracias!!!

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.