Dam M08 T01 PDF
Dam M08 T01 PDF
A
Tema 1. Desarrollo de aplicaciones para dispositivos
móviles
¿Qué aprenderás?
• La evolución experimentada por los dispositivos móviles.
• Cómo instalar y preparar un entorno de desarrollo para programar
aplicaciones móviles.
• Los distintos componentes que conforman la arquitectura del
sistema operativo Android.
¿Sabías que…?
• Uno de los mercados con mayor crecimiento en los últimos años ha
sido el de la telefonía y los dispositivos móviles.
• Es posible crear aplicaciones de forma libre y gratuita que se pueden
ejecutar en multitud de dispositivos basados en el sistema operativo
Android.
Programación multimedia y dispositivos móviles
Tema 1: Desarrollo de aplicaciones para dispositivos móviles
Apple revolucionó en su día el mercado de la telefonía móvil con su iPhone, dejando por el camino
víctimas comerciales como Palm, Windows CE y los teléfonos de Nokia con Symbian. Por otra
parte, el sistema operativo Android, adquirido por Google en 2005, ha logrado establecer todo un
ecosistema de dispositivos compatibles con los que combatir la cuota de mercado de los
dispositivos Apple.
El mercado de fabricantes de móviles está formado por compañías que obtienen gran parte de sus
beneficios de dispositivos con Android y que muchas de ellas ya desarrollaban teléfonos antes de
la era iPhone. A los fabricantes asiáticos tradicionales como Samsung, LG, Huawei, Lenovo o Sony,
se le han añadido compañías de reciente creación como Xiaomi (Mi) o OnePlus que ofrecen
terminales a precios muy competitivos.
2
Programación multimedia y dispositivos móviles
Tema 1: Desarrollo de aplicaciones para dispositivos móviles
Android es un sistema operativo que ha atraído la atención tanto de los fabricantes como de los
usuarios por diversos motivos:
3
Programación multimedia y dispositivos móviles
Tema 1: Desarrollo de aplicaciones para dispositivos móviles
4
Programación multimedia y dispositivos móviles
Tema 1: Desarrollo de aplicaciones para dispositivos móviles
• Editor gráfico de código fuente: elemento que nos ayuda gráficamente a escribir
código. Ya que cada lenguaje posee sus peculiaridades “lingüísticas” (por ejemplo si han
de finalizar con ; o no), los editores gráficos nos ayudan a poder detectar gráficamente
estos errores. También nos puede ayudar diferenciando por colores las palabras
reservadas (if, while, for, …) del nombre de las variables, ….
• Herramientas automáticas de construcción (build). El lenguaje java, por ejemplo, es
interpretado y el fichero “.java” (de texto plano) se tiene que convertir en “.class” para
poder ser interpretado por el “java.exe”. Esta acción es realizada por el constructor o
builder. Entre los constructores más usados tenemos:
• Gradle (el usado por Android Studio)
• Maven
• Ant
• Jenkins
• Depurador (debugger). Cuando tenemos un error, ya sea de funcionalidad o de código,
nos puede interesar poder ejecutar el código paso a paso hasta encontrar el motivo del
error, por ello nos interesa poder ejecutarlo en modo depurado o debug.
• Autocompletado, es decir mientras escribes te pueden ir apareciendo posibles opciones
que te ayudan a no tener que escribir tanto código o memorizarlo.
• Integración con servidores aplicaciones. Hay aplicaciones que necesitan poder simular
que son ejecutadas por servidores de aplicación. Debido a ello el IDE tiene la opción de
poder integrar servidores de aplicaciones como son el Glassfish, Weblogic, Tomcat,
Websphere, …
5
Programación multimedia y dispositivos móviles
Tema 1: Desarrollo de aplicaciones para dispositivos móviles
• Apache NetBeans
• Eclipse
• InteliJ IDEA
• Microsoft Visual Studio IDE
• Android Studio (Basado en InteliJ)
• Xcode (de Apple)
• Oracle JDeveloper
• https://stackblitz.com/ Online IDE
• Visual Studio Code (no llega a ser un IDE pero pose muchas funcionalidades)
6
Programación multimedia y dispositivos móviles
Tema 1: Desarrollo de aplicaciones para dispositivos móviles
Es posible desarrollar aplicaciones para dispositivos móviles con Android desde cualquier sistema
operativo (GNU / Linux, MacOS, MS Windows) y con varios entornos de desarrollo; el oficial y más
popular actualmente es el Android Studio aunque en el pasado muchos programadores utilizaban
Eclipse y en Netbeans.
7
Programación multimedia y dispositivos móviles
Tema 1: Desarrollo de aplicaciones para dispositivos móviles
Aunque en versiones más modernas puede cambiar ligeramente, los principales pasos son:
Descargar Java si no lo tenemos ya instalado. Para averiguar la versión de java que tenemos activa
tendremos que ejecutar “java -version” desde el cmd:
8
Programación multimedia y dispositivos móviles
Tema 1: Desarrollo de aplicaciones para dispositivos móviles
9
Programación multimedia y dispositivos móviles
Tema 1: Desarrollo de aplicaciones para dispositivos móviles
En mi caso no importo los “settings” y borro configuraciones antiguas. Si es una instalación nueva
estos pasos no aparecerán.
10
Programación multimedia y dispositivos móviles
Tema 1: Desarrollo de aplicaciones para dispositivos móviles
Por ahora no borro la configuración anterior ya que tengo proyectos antiguos de los que me
interesa mantener la configuración.
11
Programación multimedia y dispositivos móviles
Tema 1: Desarrollo de aplicaciones para dispositivos móviles
Ya que tenemos instalado el Java, le pasamos la dirección del JRE (Java Runtime Environment) el
constructor Gradle usará para construir el .class
12
Programación multimedia y dispositivos móviles
Tema 1: Desarrollo de aplicaciones para dispositivos móviles
13
Programación multimedia y dispositivos móviles
Tema 1: Desarrollo de aplicaciones para dispositivos móviles
Una vez incluido el “runtime” para el Gradle, se necesita instalar dos componentes importantes:
Aunque es opcional, se puede instalar ya una máquina virtual Android para poder probar el
código.
14
Programación multimedia y dispositivos móviles
Tema 1: Desarrollo de aplicaciones para dispositivos móviles
15
Programación multimedia y dispositivos móviles
Tema 1: Desarrollo de aplicaciones para dispositivos móviles
19-sep-2021
16
Programación multimedia y dispositivos móviles
Tema 1: Desarrollo de aplicaciones para dispositivos móviles
Next:
17
Programación multimedia y dispositivos móviles
Tema 1: Desarrollo de aplicaciones para dispositivos móviles
Next, next:
Next:
18
Programación multimedia y dispositivos móviles
Tema 1: Desarrollo de aplicaciones para dispositivos móviles
19
Programación multimedia y dispositivos móviles
Tema 1: Desarrollo de aplicaciones para dispositivos móviles
Una solución encontrada es realizar una copia del directorio del sdk, eliminar el espacio que
molesta y modificar la localización en la opción indicada arriba.
20
Programación multimedia y dispositivos móviles
Tema 1: Desarrollo de aplicaciones para dispositivos móviles
Componente Descripción
21
Programación multimedia y dispositivos móviles
Tema 1: Desarrollo de aplicaciones para dispositivos móviles
1.6. Emuladores
El AVD Manager es una herramienta que forma parte del Android SDK y que ejecutar emuladores
de dispositivos móviles Android. Se pueden crear nuevos dispositivos a partir de las imágenes
disponibles en la instalación de SDK y configurar cada emulador que se quiera utilizar con una
arquitectura determinada y sus características: versión de Android, memoria SD disponible,
tamaño de la pantalla, etcétera.
Podemos iniciar la ejecución del AVD Manager para gestionar los emuladores que necesitemos
desde la opción del menú de Android Studio.
22
Programación multimedia y dispositivos móviles
Tema 1: Desarrollo de aplicaciones para dispositivos móviles
Podemos crear tantos emuladores como queramos, eligiendo distintas plataformas ya sean
teléfonos, tablets, gadgets Android o incluso Android TV.
Cada tipo de dispositivo Android aparece listado con unas determinadas características técnicas,
destacando el tamaño de la pantalla y la resolución. Por último, seleccionamos la imagen del
sistema operativo que ejecutará, es decir, la versión de Android que tendrá instalado ese
emulador.
El AVD Manager nos mostrará una lista de todos los emuladores que hemos creado con la
posibilidad de añadir, borrar o clonar los existentes.
23
Programación multimedia y dispositivos móviles
Tema 1: Desarrollo de aplicaciones para dispositivos móviles
Modifica todos los ficheros *.ini que hay en la carpeta superior y cambiar la ruta de la ubicación
nueva del emulador.
Evidentemente, la carpeta del emulador se tendrá que mover de la C: a la D:
24
Programación multimedia y dispositivos móviles
Tema 1: Desarrollo de aplicaciones para dispositivos móviles
25
Programación multimedia y dispositivos móviles
Tema 1: Desarrollo de aplicaciones para dispositivos móviles
Ya que el emulador que proporciona Android suele dar bastantes problemas, existe la alternativa
de usar otros Emuladores como por ejemplo NOX. A continuación, se muestra información al
respecto.
En la sección de configuración modificamos la “configuración de resolución” y ponemos el formato
“teléfono”.
26
Programación multimedia y dispositivos móviles
Tema 1: Desarrollo de aplicaciones para dispositivos móviles
27
Programación multimedia y dispositivos móviles
Tema 1: Desarrollo de aplicaciones para dispositivos móviles
28
Programación multimedia y dispositivos móviles
Tema 1: Desarrollo de aplicaciones para dispositivos móviles
29
Programación multimedia y dispositivos móviles
Tema 1: Desarrollo de aplicaciones para dispositivos móviles
30
Programación multimedia y dispositivos móviles
Tema 1: Desarrollo de aplicaciones para dispositivos móviles
Una vez arrancado el Android Studio ya será capaz de detectar el NOX como si fuera un emulador
más.
31
Programación multimedia y dispositivos móviles
Tema 1: Desarrollo de aplicaciones para dispositivos móviles
32
Programación multimedia y dispositivos móviles
Tema 1: Desarrollo de aplicaciones para dispositivos móviles
Hoy en día Android se utiliza en multitud de dispositivos, tales como teléfonos inteligentes,
tabletas, lectores de libros electrónicos, netbooks, reproductores de MP3 y MP4, televisores,
relojes, etcétera.
33
Programación multimedia y dispositivos móviles
Tema 1: Desarrollo de aplicaciones para dispositivos móviles
Junto a estas librerías encontramos el Android Runtime, responsable de ejecutar las aplicaciones
Android. El Android Runtime contiene la máquina virtual Dalvik que es responsable de ejecutar el
bytecode o código binario de las aplicaciones Android.
Por un lado, esta estructura de máquina virtual permite aislarnos de las características de los
dispositivos físicos, que en el caso de los dispositivos móviles es muy variable y depende de las
diferentes tecnologías que utilizan los fabricantes de esos dispositivos.
Por otro lado, también permite aumentar la seguridad. Cada aplicación se ejecuta en una instancia
independiente de la máquina virtual, usando un usuario Linux independiente. Las máquinas
virtuales actúan como un Sandbox o sistema de aislamiento, de forma que cuando una app deja
de funcionar adecuadamente, no debe alterar el estado del teléfono. De esta forma se persigue
que un dispositivo móvil no deje nunca de responder, aunque una app esté "colgada".
34
Programación multimedia y dispositivos móviles
Tema 1: Desarrollo de aplicaciones para dispositivos móviles
Finalmente, en la capa más alta encontramos las aplicaciones que se distribuyen con el dispositivo
Android (funcionalidad de teléfono, contactos, navegador, etcétera), así como otras aplicaciones
que se descargan y se instalan desde la tienda de Google, la Google Play Store.
35
Programación multimedia y dispositivos móviles
Tema 1: Desarrollo de aplicaciones para dispositivos móviles
36
Programación multimedia y dispositivos móviles
Tema 1: Desarrollo de aplicaciones para dispositivos móviles
Recursos y enlaces
• Guías para desarrolladores de Android
Conceptos clave
• Android: es un sistema operativo adquirido por Google en el año 2005 que
ostenta la mayor cuota de mercado en cuanto a sistemas operativos
instalados en teléfonos inteligentes. Entre las razones de su éxito destacan
ser un proyecto de código libre e incorporar un mercado de aplicaciones
que permite a los usuarios buscar e instalar aplicaciones para sus
dispositivos.
• Android Studio: entorno de desarrollo que facilita el desarrollo, la
compilación y el testeo de aplicaciones móviles utilizando el lenguaje de
programación Java.
• Kotlin: lenguaje de programación desarrollado por la empresa rusa
JetBrains pensado para ser compilado en cualquier máquina virtual Java.
En el año 2017 Google establece Kotlin como lenguaje oficial para Android
al mismo nivel que Java.
• Máquina virtual: entorno que permite a cada aplicación ejecutarse en un
proceso propio. A partir de la versión 5.0 de Android, la máquina virtual
Dalvik evoluciona a una nuava máquina virtual llamada Art, que
incrementa el rendimiento general de las aplicaciones.
37
Programación multimedia y dispositivos móviles
Tema 1: Desarrollo de aplicaciones para dispositivos móviles
Test autoevaluativo
1. ¿Cuál de las siguientes limitaciones habría que tener en cuenta a la hora de desarrollar
aplicaciones móviles?
a) Velocidad del procesador.
b) Tamaño de la pantalla.
c) Deficiencia de las conexiones.
d) Falta de funcionalidades multimedia.
3. ¿Qué nombre recibe la capa del sistema operativo Android que se encarga de ejecutar las
aplicaciones?
a) Application Framework
b) Kernel
c) Android Runtime
d) Ninguna de las respuestas anteriores es correcta
38
Programación multimedia y dispositivos móviles
Tema 1: Desarrollo de aplicaciones para dispositivos móviles
Ponlo en práctica
Realiza la instalación de entorno de desarrollo Android Studio en tu ordenador. Recuerda, que
debes descargar el programa ejecutable de la web oficial de Android; de esta forma, se instalarán
automáticamente en tu ordenador el entorno de desarrollo, el lenguaje de programación Java y
las librerías de Android necesarias.
39
Programación multimedia y dispositivos móviles
Tema 1: Desarrollo de aplicaciones para dispositivos móviles
Solucionarios
Test autoevaluativo
1. ¿Cuál de las siguientes limitaciones habría que tener en cuenta a la hora de desarrollar
aplicaciones móviles?
a) Velocidad del procesador.
b) Tamaño de la pantalla.
c) Deficiencia de las conexiones.
d) Falta de funcionalidades multimedia.
3. ¿Qué nombre recibe la capa del sistema operativo Android que se encarga de ejecutar las
aplicaciones?
a) Application Framework
b) Kernel
c) Android Runtime
d) Ninguna de las respuestas anteriores es correcta
40
Programación multimedia y dispositivos móviles
Tema 1: Desarrollo de aplicaciones para dispositivos móviles
Ponlo en práctica
Realiza la instalación de entorno de desarrollo Android Studio en tu ordenador. Recuerda, que
debes descargar el programa ejecutable de la web oficial de Android; de esta forma, se instalarán
automáticamente en tu ordenador el entorno de desarrollo, el lenguaje de programación Java y
las librerías de Android necesarias.
Solución:
En primer lugar es necesario descargar el programa de la web oficial de desarrolladores de
Android: https://developer.android.com/studio/?hl=ES
41