Unidad I
Unidad I
Unidad I
APLICACIONES ANDROID
PROF.: LIC. JUAN SAMUEL CACERES
FUNDAMENTACIÓN
La tecnología móvil se ha incrementado de forma exponencial en los
últimos años y esta tendencia seguirá en aumento con la demanda de
cada vez más portabilidad por parte de las personas que desean estar
conectadas sin importar dónde se encuentran. Estos dispositivos
necesitarán de aplicaciones que puedan aprovechar al máximo todo el
potencial tecnológico disponible en esos dispositivos. El sistema operativo
Android se ha consolidado como el sistema operativo de mayor
participación en dispositivos móviles en un mercado que crece día a día.
Al ser Android un sistema operativo de código abierto y de libre
distribución, todas las herramientas de programación y de apoyo son
gratuitas y tampoco se encuentra atado a ningún fabricante o dispositivo
en particular. El código abierto de sistema operativo Android permite a los
desarrolladores de software innovar y añadir nuevas características.
DESCRIPCIÓN DEL MÓDULO
El módulo de programación móvil corresponde al 3 curso con 90
horas pedagógicas presenciales. El módulo se centra en el
conocimiento y aprendizaje de los conceptos básicos para realizar
programación de dispositivos móviles y de las herramientas
disponibles para el desarrollo.
PROPÓSITOS PEDAGÓGICOS
Se espera que al término de este módulo los cursantes:
➢Conozcan los elementos básicos de la programación de dispositivos
móviles}
➢Conozcan y utilicen las herramientas adecuadas para el desarrollo de
software en dispositivos móviles
➢Aprendan a desarrollar aplicaciones para dispositivos móviles, de alta
calidad
METAS DIDÁCTICAS
Durante el proceso de desarrollo de este Módulo, cada estudiante,
de acuerdo a sus características individuales debe evidenciar que:
➢Identifica y conoce las herramientas básicas que debe utilizar para la
programación de dispositivos móviles
➢Hace uso de dichas herramientas, siguiendo los estándares de
programación y diseño de bases de datos aprendidos en cursos
anteriores.
➢Es capaz de realizar programas básicos y de mediana complejidad para
uso en dispositivos móviles.
➢Valora el beneficio que reportará el uso de herramientas de código
abierto y distribución gratuita.
NÚCLEO PROGRAMÁTICO FORMATIVO
MICRO - COMPETENCIA CAPACIDAD
− Conoce y evalúa las herramientas disponibles para la programación
móvil.
Identifica y conoce las herramientas − Aprende a resolver problemas típicos de instalación de las
básicas que debe utilizar para la herramientas en caso de presentarse
programación de dispositivos móviles
− Evalúa las necesidad de hardware en los equipo en donde realizará
programación móvil
En octubre de 2003, en la localidad de Palo Alto, Andy Rubin, Rich Miner, Chris White y Nick
Sears fundaron Android Inc. con el objetivo de desarrollar un sistema operativo para móviles
basado en Linux.
En julio de 2005, la multinacional Google compra Android Inc. El 5 de noviembre de 2007 se
crea la Open Handset Alliance, un conglomerado de fabricantes y desarrolladores de
hardware, software y operadores de servicio. El mismo día se anuncia la primera versión del
sistema operativo: Android 1.0 Apple Pie. Los terminales con Android no estarían disponibles
hasta el año 2008. Las unidades vendidas de teléfonos inteligentes con Android se ubican en
el primer puesto en los Estados Unidos, en el segundo y tercer trimestres de 2010, con una
cuota de mercado de 43.6 % en el tercer trimestre. A escala mundial alcanzó una cuota de
mercado del 50.9 % durante el cuarto trimestre de 2011, más del doble que el segundo
sistema operativo (iOS de Apple, Inc.)
UNIDAD DIDÁCTICA I - HERRAMIENTAS DE DESARROLLO
Introducción al Sistema Operativo Android - Historia
El anuncio del sistema Android se realizó el 5 de noviembre de 2007 junto con la creación de la Open
Handset Alliance, un consorcio de 78 compañías de hardware, software y telecomunicaciones
dedicadas al desarrollo de estándares abiertos para dispositivos móviles. Google liberó la mayoría del
código de Android bajo la licencia Apache, una licencia libre y de código abierto.
La estructura del sistema operativo Android se compone de aplicaciones que se ejecutan en un
framework Java de aplicaciones orientadas a objetos sobre el núcleo de las bibliotecas de Java en una
máquina virtual Dalvik con compilación en tiempo de ejecución hasta la versión 4.4.3, luego cambió al
entorno Android Runtime (ART).
Las bibliotecas escritas en lenguaje C incluyen un administrador de interfaz gráfica (surface manager),
un framework OpenCore, una base de datos relacional SQLite, una Interfaz de programación de API
gráfica OpenGL ES 2.0 3D, un motor de renderizado WebKit, un motor gráfico SGL, SSL y una biblioteca
estándar de C Bionic. El sistema operativo está compuesto por 12 millones de líneas de código,
incluyendo 3 millones de líneas de XML, 2.8 millones de líneas de lenguaje C, 2.1 millones de líneas de
Java y 1.75 millones de líneas de C++.
UNIDAD DIDÁCTICA I - HERRAMIENTAS DE DESARROLLO
Introducción al Sistema Operativo Android – Características
Aunque la mayoría de las aplicaciones están escritas en Java, no hay una máquina virtual Java en la
plataforma. El bytecode Java no es ejecutado, sino que primero se compila en un ejecutable Dalvik y
se ejecuta en la Máquina Virtual Dalvik, Dalvik es una máquina virtual especializada, diseñada
Soporte de Java específicamente para Android y optimizada para dipositivos móviles que funcionan con batería y
que tienen memoria y procesador limitados. A partir de la versión 5.0, se utiliza el Android Runtime
(ART). El soporte para J2ME puede ser agregado mediante aplicaciones de terceros como el J2ME
MIDP Runner.
Android soporta los siguientes formatos multimedia: WebM, H.263, H.264 (en 3GP o MP4), MPEG-4
Soporte multimedia SP, AMR, AMR-WB (en un contenedor 3GP), AAC, HE-AAC (en contenedores MP4 o 3GP), MP3, MIDI,
Ogg Vorbis, WAV, JPEG, PNG, GIF y BMP.45
Streaming RTP/RTSP (3GPP PSS, ISMA), descarga progresiva de HTML (HTML5 <video> tag). Adobe
Flash Streaming (RTMP) es soportado mediante el Adobe Flash Player. Se planea el soporte de
Soporte para streaming
Microsoft Smooth Streaming con el port de Silverlight a Android. Adobe Flash HTTP Dynamic
Streaming estará disponible mediante una actualización de Adobe Flash Player.
UNIDAD DIDÁCTICA I - HERRAMIENTAS DE DESARROLLO
Introducción al Sistema Operativo Android – Características
Android soporta cámaras de fotos, de vídeo, pantallas táctiles, GPS, acelerómetros, giroscopios,
Soporte para hardware
magnetómetros, sensores de proximidad y de presión, sensores de luz, gamepad, termómetro,
adicional
aceleración por GPU 2D y 3D.
Incluye un emulador de dispositivos, herramientas para depuración de memoria y análisis del
rendimiento del software. Inicialmente el entorno de desarrollo integrado (IDE) utilizado era Eclipse
Entorno de desarrollo
con el plugin de Herramientas de Desarrollo de Android (ADT). Ahora se considera como entorno
oficial Android Studio, descargable desde la página oficial de desarrolladores de Android.
Google Play es un catálogo de aplicaciones gratuitas o de pago en el que pueden ser descargadas e
Google Play
instaladas en dispositivos Android sin la necesidad de un PC.
Android tiene soporte nativo para pantallas capacitivas con soporte multitáctil que inicialmente
hicieron su aparición en dispositivos como el HTC Hero. La funcionalidad fue originalmente
Multi-táctil desactivada a nivel de kernel (posiblemente para evitar infringir patentes de otras compañías). Más
tarde, Google publicó una actualización para el Nexus One y el Motorola Droid que activa el soporte
multitáctil de forma nativa.
UNIDAD DIDÁCTICA I - HERRAMIENTAS DE DESARROLLO
Introducción al Sistema Operativo Android – Características
El soporte para A2DF y AVRCP fue agregado en la versión 1.5; el envío de archivos (OPP) y la
Bluetooth exploración del directorio telefónico fueron agregados en la versión 2.0; y el marcado por voz junto
con el envío de contactos entre teléfonos lo fueron en la versión 2.2.
Android soporta videollamada a través de Hangouts (antiguo Google Talk) desde su versión
Videollamada
HoneyComb.
Multitarea real de aplicaciones está disponible, es decir, las aplicaciones que no estén ejecutándose
Multitarea
en primer plano reciben ciclos de reloj.
Características basadas La búsqueda en Google a través de voz está disponible como "Entrada de Búsqueda" desde la
en voz versión inicial del sistema.
Android soporta tethering, que permite al teléfono ser usado como un punto de acceso alámbrico o
inalámbrico (todos los teléfonos desde la versión 2.2, no oficial en teléfonos con versión 1.6 o
Tethering inferiores mediante aplicaciones disponibles en Google Play (por ejemplo PdaNet). Para permitir a
un PC usar la conexión de datos del móvil Android se podría requerir la instalación de software
adicional.
UNIDAD DIDÁCTICA I - HERRAMIENTAS DE DESARROLLO
Introducción al Sistema Operativo Android – Estructura
UNIDAD DIDÁCTICA I - HERRAMIENTAS DE DESARROLLO
Introducción al Sistema Operativo Android – Estructura
las aplicaciones base incluyen un cliente de correo electrónico, programa de SMS, calendario,
Aplicaciones mapas, navegador, contactos y otros. Todas las aplicaciones están escritas en lenguaje de
programación Java.
los desarrolladores tienen acceso completo a los mismos API del entorno de trabajo usados por las
aplicaciones base. La arquitectura está diseñada para simplificar la reutilización de componentes;
Marco de trabajo de
cualquier aplicación puede publicar sus capacidades y cualquier otra aplicación puede luego hacer
aplicaciones
uso de esas capacidades (sujeto a reglas de seguridad del framework). Este mismo mecanismo
permite que los componentes sean reemplazados por el usuario.
Android incluye un conjunto de bibliotecas de C/C++ usadas por varios componentes del sistema.
Estas características se exponen a los desarrolladores a través del marco de trabajo de aplicaciones
Bibliotecas
de Android. Algunas son: System C library (implementación biblioteca C estándar), bibliotecas de
medios, bibliotecas de gráficos, 3D y SQLite, entre otras.
UNIDAD DIDÁCTICA I - HERRAMIENTAS DE DESARROLLO
Introducción al Sistema Operativo Android – Estructura
Android incluye un set de bibliotecas base que proporcionan la mayor parte de las funciones
disponibles en las bibliotecas base del lenguaje Java. Cada aplicación Android corre su propio
proceso, con su propia instancia de la máquina virtual Dalvik. Dalvik ha sido escrito de forma que un
dispositivo puede correr múltiples máquinas virtuales de forma eficiente. Dalvik ejecutaba hasta la
Runtime de Android
versión 5.0 archivos en el formato de ejecutable Dalvik (.dex), el cual está optimizado para memoria
mínima. La Máquina Virtual está basada en registros y corre clases compiladas por el compilador de
Java que han sido transformadas al formato.dex por la herramienta incluida dx. Desde la versión 5.0
utiliza el ART, que compila totalmente al momento de instalación de la aplicación.
Android depende de Linux para los servicios base del sistema como seguridad, gestión de memoria,
Núcleo Linux gestión de procesos, pila de red y modelo de controladores. El núcleo también actúa como una capa
de abstracción entre el hardware y el resto de la pila de software.
UNIDAD DIDÁCTICA I - HERRAMIENTAS DE DESARROLLO
Introducción al Sistema Operativo Android – Ventajas
Android 1.6 llegó en octubre de 2009 de la mano del HTC Magic y con un
Android Market renovado: pasó de tener una interfaz gris a usar el color verde
que mantiene hoy en día. La pantalla de inicio solo tuvo un cambio: el widget de
búsqueda de Google se volvió más delgado y discreto.
UNIDAD DIDÁCTICA I - HERRAMIENTAS DE DESARROLLO
Introducción al Sistema Operativo Android – Versiones
Android 2.0 estuvo disponible por primera vez en noviembre de 2009 con varias mejoras en
la interfaz, principalmente de las animaciones y transiciones entre menús. También se
renovaron el teclado virtual y el navegador (que empezó a soportar el “doble toque” para
ampliar).
Eclair también englobó Android 2.1, que introdujo la galería de fotos con efectos 3D, los
fondos de pantalla animados y el sistema multitáctil que Apple había introducido con el
UNIDAD DIDÁCTICA I - HERRAMIENTAS DE DESARROLLO
Introducción al Sistema Operativo Android – Versiones
Android 2.2 debutó en mayo de 2010. Fue la versión que introdujo el lanzador
de aplicaciones tal y como lo conocemos ahora (antes era una persiana que
había que subir con un gesto). En la barra del lanzador ahora había un acceso
permanente a las dos aplicaciones principales: el teléfono y el navegador.
UNIDAD DIDÁCTICA I - HERRAMIENTAS DE DESARROLLO
Introducción al Sistema Operativo Android – Versiones
Android 2.3 se lanzó en diciembre de 2010 (el pan de jengibre es muy navideño) y terminó la
pequeña revolución estética que había iniciado Froyo. Las novedades estéticas se centraron
en incrementar la velocidad y simplificar los distintos elementos de la interfaz.
El principal afectado fue el teclado virtual, que cambió la disposición de los botones y añadió
dictado, asistencia y la posibilidad de deslizarse entre letras. Fue en este momento cuando la
barra de menús se volvió negra.
UNIDAD DIDÁCTICA I - HERRAMIENTAS DE DESARROLLO
Introducción al Sistema Operativo Android – Versiones
Android 3.0, liberada en febrero de 2011, fue la primera versión para tablets (y
fue exclusiva para ellas). Presentó una nueva interfaz más ciberpunk llamada
Holo que tenía poco que ver con la versión móvil.
UNIDAD DIDÁCTICA I - HERRAMIENTAS DE DESARROLLO
Introducción al Sistema Operativo Android – Versiones
Android 4.1 (julio de 2012), 4.2 (octubre de 2012) y 4.3 (julio de 2013) fueron
versiones tremendamente populares del sistema. Jelly Bean introdujo un buen
montón de funciones: las que más afectaron a la interfaz fueron Google Now,
Gesture Typing, los widgets que se ajustan automáticamente a la pantalla, el
multiusuario, notificaciones interactivas y Quick Settings (el menú que nos permite
cambiar rápidamente la configuración del teléfono).
UNIDAD DIDÁCTICA I - HERRAMIENTAS DE DESARROLLO
Introducción al Sistema Operativo Android – Versiones
Android 8.0 fue lanzada el 21 de agosto de 2017. Fue la versión que acabó con uno de
los problemas de diseño históricos de la pantalla de inicio de Android: que algunos de
los iconos fueran más grandes que otros. Ahora todos están contenidos en una caja del
mismo tamaño. Entre sus novedades más importantes, estaban el PIP (la posibilidad de
seguir viendo un vídeo en una ventana flotante mientras haces uso del resto del
sistema) y un rediseño profundo de las notificaciones con opciones como posponer.
UNIDAD DIDÁCTICA I - HERRAMIENTAS DE DESARROLLO
Introducción al Sistema Operativo Android – Versiones
Y llegamos a Android 9.0, la versión actual del sistema que el pasado 6 de agosto de
2018 introdujo algunos cambios en Material Design: ahora hay esquinas redondeadas y
un diseño mas claro y consistente a lo largo y ancho del sistema y de sus aplicaciones.
Android Pie introdujo también un rediseño del menú de ajustes rápidos, movió el reloj
a la parte izquierda de la barra de notificaciones y, por supuesto, añadió soporte para
cortes en la pantalla, algo que conocemos simplemente como “notch”.
UNIDAD DIDÁCTICA I
HERRAMIENTAS DE DESARROLLO
Introducción al Sistema Operativo Android
Máquina Virtual
Android Runtime (ART) es un
entorno de ejecución de
aplicaciones utilizado por el
sistema operativo móvil Android.
ART reemplaza a Dalvik, que es la
máquina virtual utilizada
originalmente por Android, y lleva
a cabo la transformación de la
aplicación en instrucciones de
máquina, que luego son
ejecutadas por el entorno de
ejecución nativo del dispositivo.
UNIDAD DIDÁCTICA I - HERRAMIENTAS DE DESARROLLO
Kit de desarrollo de aplicaciones para Android - Instalación
Android Studio es el entorno de desarrollo integrado (IDE) oficial para el desarrollo de aplicaciones para Android y
se basa en IntelliJ IDEA . Además del potente editor de códigos y las herramientas para desarrolladores de IntelliJ,
Android Studio ofrece aún más funciones que aumentan la productividad durante la compilación de apps para
Android, como las siguientes:
• Un sistema de compilación basado en Gradle flexible
• Un emulador rápido con varias funciones
• Un entorno unificado en el que podemos realizar desarrollos para todos los dispositivos Android
• Instant Run para aplicar cambios mientras la app se ejecuta sin la necesidad de compilar un nuevo APK
• Integración de plantillas de código y GitHub para ayudarnos a compilar funciones comunes de las apps e
importar ejemplos de código
• Gran cantidad de herramientas y frameworks de prueba
• Herramientas Lint para detectar problemas de rendimiento, usabilidad, compatibilidad de versión, etc.
• Compatibilidad con C++ y NDK
• Soporte incorporado para Google Cloud Platform, lo que facilita la integración de Google Cloud Messaging
y App Engine
UNIDAD DIDÁCTICA I - HERRAMIENTAS DE DESARROLLO
Kit de desarrollo de aplicaciones para Android - Instalación
Para la configuración de Android Studio solo se necesitan unos clics. (Será necesaria la
descarga de Android Studio).
Para instalar en Windows debemos seguir los siguientes pasos:
1. Ejecutar el archivo .exe que descargamos.
2. Seguir las indicaciones del asistente de configuración para instalar Android Studio y las
herramientas de SDK necesarias.
En algunos sistemas de Windows, la secuencia de comandos de inicio no encuentra el
destino de instalación del JDK. Si se produce este problema, debemos configurar una
variable de entorno que indique la ubicación correcta.
Seleccionar Inicio > Este equipo > Propiedades > Configuración avanzada del sistema.
Luego abrir la pestaña Opciones Avanzadas > Variables de entorno y agregar una nueva
variable de sistema JAVA_HOME que apunte a la carpeta de JDK. Por ejemplo, C:\Archivos
de programa\Java\jdk1.8.0_152. (si no tenemos instalado el JDK debemos instalarlo
antes de instalar Android Studio)
En las clases presenciales y videos tutoriales estaremos realizando estos pasos
UNIDAD DIDÁCTICA I - HERRAMIENTAS DE DESARROLLO
Kit de desarrollo de aplicaciones para Android - Instalación
Existen problemas de estabilidad conocidos en Android Studio para Mac cuando se usa JDK
1.8. Hasta que se resuelvan estos problemas, podemos mejorar la estabilidad pasando el JDK a
una versión anterior (que no sea anterior a la 1.6).
Para instalar Android Studio en Mac, procedemos de la siguiente manera:
1. Ejecutar el archivo DMG de Android Studio.
2. Arrastrar Android Studio y soltarlo en la carpeta Applications. Luego iniciar Android
Studio.
3. Elegir si deseamos importar configuraciones previas de Android Studio y luego hacer clic
en OK.
4. El asistente de configuración de Android Studio nos guiará en el resto de la configuración.
Esto incluye la descarga de componentes del Android SDK que se necesiten para el
desarrollo.
En las clases presenciales estaremos realizando estos pasos en caso de que tengamos una
Mac
UNIDAD DIDÁCTICA I - HERRAMIENTAS DE DESARROLLO
Kit de desarrollo de aplicaciones para Android - Instalación
https://developer.android.com/studio/install?hl=es-419
https://androidstudiofaqs.com/conceptos/android-studio-requisitos-minimos
https://es.wikipedia.org/wiki/Android_SDK