6. DESARROLLO DE APLICACIONES
01. LA EVOLUCIÓN DE LA TELEFONÍA
02. PLANIFICACIÓN DE APPS
03. DESARROLLO ANDROID
04. APPINVENTOR
RECURSOS
ACTIVIDADES
EVALUACIÓN
3. PLATAFORMA DE DESARROLLO ANDROID
La plataforma Android es la más popular entre los usuarios de smartphone, sostenida por Google. Por este motivo, es una gran oportunidad para comenzar a distribuir nuestra aplicación en su tienda de apps.
El sistema operativo de Android se basa en el núcleo de Linux, un sistema operativo de código abierto usado inicialmente en ordenadores, sobre este núcleo o Kernel se genera un entorno de ejecución o máquina virtual que cuenta con las instrucciones necesarias para poder generar un código entendible por el sistema operativo. En el caso de Android, usamos un lenguaje muy similar a Java, pero podemos añadir fragmentos de programas en C y C++. Para el desarrollo de las aplicaciones, el entorno más utilizado es Android Studio, que incluye el kit standard de desarrollo conocido como SDK y el entorno de desarrollo, conocido como IDE.
En la realización de una aplicación necesitamos ciertos recursos e infraestructuras. Para Android contamos con una gran cantidad de recursos ya creados desde donde podemos comenzar a desarrollar nuestras aplicaciones, en la web oficial de Android Developers Desarrolladores de Android | Android Developers encontramos tutoriales, ejemplos y guías de buenas prácticas. También podemos acceder a diferentes foros de desarrolladores de Android donde nos pueden ayudar a solventar nuestras dudas.
Android proporciona a través de Android Studio un entorno de desarrollo completo y gratuito, en su interior encontramos dos componentes básicos: Android SDK Tools, con librerías, emuladores, ejemplos, código fuente…; también tenemos Android Studio IDE con el entorno de desarrollo.
3. 1. ANDROID SDK
Normalmente, se instala todo el paquete de Android Studio al completo, pero podemos instalar Android SDK por separado, principalmente cuando queremos usar un IDE distinto del que integra Studio. En caso de querer utilizar fragmentos de programas que estén desarrollados en C o C++ debemos instalar Android NDK que es un kit de desarrollo nativo.
Dentro de Android SDK podemos encontrar diferentes componentes:
SDK Manager
Es la herramienta que usamos para gestionar los componentes instalados con el SDK, un componente es un conjunto de librerías de código de una versión. También incorpora las herramientas necesarias para la gestión de los emuladores o dispositivos virtuales de Android (AVD). En el SDK encontraremos un catálogo con todos los dispositivos reales que usan Android para poder utilizarlos en nuestro AVD, para ello, seleccionamos uno de estos dispositivos que será para el que queremos desarrollar nuestra aplicación. La principal característica software que podemos modificar es la versión Android que utiliza.
La mayoría de las pruebas las realizaremos con estos dispositivos virtuales. Ya que desde ellas podemos emular diferentes funcionalidades como simular llamadas, recepción y envío de mensajes, diferentes ubicaciones, cambiar el estado de la batería, diferentes posibilidades de conectividad… También podemos ejecutar varios dispositivos a la vez para simular una interactuación entre ellos.
Android Studio IDE
Es el entorno de programación que proporciona diferentes funcionalidades para crear las aplicaciones en Android. Podemos encontrar: editor de código especializado en Android y editor visual para las interfaces gráficas del usuario. Con IDE podemos ejecutar las aplicaciones en dispositivos reales o virtuales, pudiendo observar diferentes parámetros como el consumo de recursos. Desde de la ayuda contextual y los asistentes automatizados ayudan a los usuarios a observar correctamente los datos que están queriendo analizar.
3. 2. DOCUMENTACIÓN PARA EL DESARROLLO DE APLICACIONES
La documentación es necesaria para conocer las posibilidades y cómo usar los diferentes recursos con los que cuenta Android.
La principal fuente de esta información es Android Developers, donde podemos encontrar todo lo que necesitan los tres principales agentes que intervienen en el desarrollo de las aplicaciones:
Distribute:
Gestores interesados en la distribución de las aplicaciones que se ocupan de la difusión y comercialización. Suelen buscar estadísticas acerca del comportamiento de los usuarios en las diferentes aplicaciones.
Design:
Diseñadores que buscan mejorar el aspecto visual y la interacción de los usuarios con la mismas.
Develop:
Técnicos que crean el código de las apps.
Para todos estos perfiles, podemos encontrar una gran cantidad de materiales diversos como tutoriales, librerías de código, guías de mejores prácticas, obtención de estadísticas… todo esto se encuentra sustentado por la comunidad de Android y Google que va incorporando las nuevas actualizaciones de su sistema operativo.
3. 3. ELEMENTOS DE UNA APP
Una aplicación de Android tiene una estructura definida por la propia plataforma. Gracias a esto podemos construir nuestra app usando librerías de código ya existentes.
La estructura básica de una aplicación se basa en 3 conceptos diferentes:
- Manifiesto: describe los diferentes permisos y requisitos mínimos que necesita la app para funcionar correctamente.
- Recursos: Son elementos estáticos, por lo tanto, no describen una funcionalidad. Podemos encontrar el diseño de un formulario (layout) y diferentes valores estáticos como imágenes de la app, sonidos o textos (string).
- Clases: tenemos dos tipos de clases, las de componentes de la app y las auxiliares. Estas últimas son creadas desde cero y pueden usar elementos de las librerías. Dentro de las clases de componentes de la app, podemos diferencias tres:
- Actividades: son diferentes acciones que debe llevar a cabo de la app desde la interfaz gráfica, por lo tanto, deben ser cortas y de ejecución casi inmediata.
- Servicios: al igual que las tareas, son acciones que realizará nuestra aplicación, pero en este caso, son mantenidas en el tiempo, conllevan periodos de ejecución más largos y no tienen asociada una acción a través de la interfaz.
- Receptores de notificaciones: son usados para trasladar al usuario diferentes notificaciones de la aplicación, por lo general no tienen interfaz directa, pero sí suelen usar la barra de notificaciones del dispositivo o algún elemento de aviso.
ACTIVIDADES DE INVESTIGACIÓN
P5. ¿Cuales son las características principales de la plataforma de desarrollo Android y qué características la diferencian de otras plataformas móviles?
P6. ¿Qué herramientas son necesarias para el desarrollo de aplicaciones móviles para dispositivos Android dentro de su plataforma de programación?