Programación multimedia y
dispositivos móviles
Introducción
Uso de sistemas operativos móviles
Lenguajes de programación dispositivos
• Aplicaciones IOS
• Objective-C
• Aplicaciones Android
• Java
Usaremos Android como sistema operativo
para desarrollar aplicaciones
¿Que es un IDE?
• “Integrated Development Environment”
• Editor de código fuente
• Auto-completado
• Compilador
• Ejemplos:
• NetBeans
• Eclipse
• Emacs
• Visual Studio
IDEs para programación Android
• La mayoría de los IDEs para Java pueden adaptarse para programar en
Android:
• NetBeans, Eclipse…
• Requieren de Plug-ins.
• No cubren todas las funcionalidades.
• Android Studio IDE:
• Especifico para desarrollo de aplicaciones Android.
• Multiplataforma
• Desarrollado y actualizado por Google.
Instalación Android Studio
• Descargar Android Studio
• [Link]
• Tener JDK 7 (Java Development Kit).
• En un terminal “java –version”
• Tener la variable de entorno “JAVA_HOME” apuntando al directorio de
instalación el JDK.
• Ejecutar el instalador y seguir los pasos.
Referencia: [Link]
Android Studio: Instalación (I)
Android Studio: Instalación (II)
Android Studio: Instalación (III)
Android Studio: Instalación (IV)
Android Studio: Instalación (V)
Android Studio: Instalación (VI)
Android Studio: Instalación (VII)
Android Studio: Instalación (VIII)
Crear un nuevo proyecto
• File > New > New Project…
• Nombre de la aplicación
• Dominio
• Nombre único separado por puntos
• Puede ser cualquier cosa (nuestro nombre)
• Distinguir aplicaciones de distintos fabricantes
• Donde se guarda el proyecto
• Next…
Crear un nuevo proyecto
• Seleccionar los dispositivos objetivo
• Phone and Tablet
• Minimun SDK: Nuestra aplicación no funcionara en dispositivos con una
versión inferior del sistema operativo
Indica la distribución de sistemas operativos
Next…
Crear un nuevo proyecto
• Crear la actividad de inicio de nuestra aplicación.
• Una actividad es el equivalente a una ventana en un sistema operativo.
• Seleccionamos “Empty Activity” como punto de partida.
• Next…
Crear un nuevo proyecto
• Android Studio crea los componentes básicos de la actividad:
• Activity Name: Nombre de la clase que se creará (subclase de Activity).
• Layout Name: Nombre de el fichero XML donde se especifica el interfaz de
usuario.
• Title: Titulo de la actividad que se mostrará en Android.
• Menu Resource Name: Nombre del fichero XML donde se especifica el
interfaz del menú.
Finish…
Elementos Creados
En [Link] se añade la
Activity creada.
Dentro de la carpeta Java se crea la clase
donde estará el código de la Activity.
En res/layout Se crea el UI de la Activity
En res/menu Se crea el UI de el menú de
la Activity
Estructura de un proyecto Android
• Tres directorios principales:
• Manifest: Contiene el fichero [Link].
• Java: Contiene los ficheros .java (clases, métodos, variables…).
• Res: Contiene recursos de la aplicación (imágenes, UI layouts, textos,
colores…)
Estructura de un proyecto Android
[Link]
• Contiene información sobre la aplicación que es requerida por
Android.
• Nombre el paquete de la aplicación (identificador único de la app).
• Describe los componentes de la aplicación (activities, services, broadcast
receivers…) y como pueden ser ejecutados.
• Declara permisos para interactuar con otras aplicaciones.
• Declara el valor mínimo de API que la aplicación requiere.
• Librerías que la aplicación necesita.
En Android Studio, se añade
cuando se compila.
Estructura de un proyecto Android (Java)
• Contiene todos los ficheros .java que vayamos creando para la
aplicación.
• El paquete principal es “Company Domain” + AplicationName
Estructura de un proyecto Android
(Resources)
• Drawable: Directorio para objetos que se pueden
“pintar”.
• Layout: Contiene los Interfaces de usuario de las Activities
y otros objetos.
• Menu: Contiene los botones de la barra de menú de las
Actividades.
• Mipmap: Contiene los iconos de la aplicación.
• Values: Contiene constantes de la aplicación para tener
todos los valores en un sitio común.
• Dimensiones, Texto, Estilos…
Ejecutando la aplicación (Crear emulador)
• Podemos crear distintos dispositivos móviles.
• Elegimos tipo de dispositivo y sistema operativo (es un móvil completo).
• Gestionado por ADV Manager.
• Puede contener varios terminales, los terminales van instalando las
aplicaciones que ejecutamos.
• Una vez que tenemos el dispositivo virtual, Ejecutar.
Resultado
Genymotion
[Link]
Genymotion
Genymotion
Explicación de la aplicación: Layout
• El Layout se puede ver desde dos perspectivas:
• Text: Es un fichero XML que indica los elementos que hay presentes en el
layout.
• Se pueden añadir y eliminar elementos en el XML que después se verán en la aplicación.
• Se pueden modificar los atributos de dichos elementos para cambiar sus propiedades.
• Design: Android Studio interpreta el fichero XML y hace una representación
gráfica del mismo en un terminal.
• Se pueden tomar elementos de la paleta y arrastrar sobre el terminal para posicionarlos.
• Se pueden seleccionar elementos del terminal y borrarlos o modificar sus atributos
(Properties).
Explicación de la aplicación: Layout (Text)
Propiedades
de los objetos
Referencias a TextView está dentro de
values/[Link] y RelativeLayout
values/[Link]
Explicación de la aplicación: Layout (Design)
Arbol de
componentes
Paleta con Propiedades
componentes de los
componentes
Explicación de la aplicación: Java
• El código fuente contiene una sola clase, cuyo nombre especificamos
al crear el proyecto.
• Dicha clase es una subclase de la clase Activity.
• Nuestra clase sobrescribe (override) los métodos de la clase Activity.
• El sistema operativo Android llama a dichos métodos según nuestra
Activity pasa por su “ciclo de vida”.
Ciclo de vida de una Actividad
Explicación de la aplicación: Java
onCreate
Crea el interfaz a partir del fichero
activity_main.xml
onCreateOptionsMenu
Crea el interfaz a partir del fichero
menú_main.xml
onOptionsItemSelected
Gestiona la pulsación de los botones del
menú.
Accediendo a recursos desde el código
• Se puede acceder a un recurso pasando su identificador al método
que corresponda:
• setContentView([Link].activity_main);
• getMenuInflater().inflate([Link].menu_main, menu);
• String texto = getResources().getString([Link].hello_world);
Ejecución real
Añadiendo identificadores a elementos del
layout
Añadir id para poder acceder
al texto desde el código
Ahora podemos cambiar el
texto usando el id.
Añadiendo Botones y Atributo OnClick
Atributo onClick da el
nombre del método que se
ejecutará al pulsar el botón.
Ejercicio
• Ejercicio calculadora simple