Curso de programación de aplicaciones Android
Introducción
Existe un enorme interés por parte de todos los profesionales relacionados con las TIC por el desarrollo de aplicaciones para los hoy ubícuos Smartphones.
El avance en los entornos de desarrollo de estas aplicaciones han conseguido reducir enormemente la cantidad de conocimiento necesaria para desarrollar una aplicación.
Los docentes no son ajenos a este atractivo, y ven muy interesante el promover en los alumnos el interés en estas tecnologías, y la prueba de esto es el gran número de asistentes a esta formación sobre programación de aplicaciones Android.
Objeto del curso
Se ha elegido la plataforma Android por ser la más utilizada hoy en día y porque además se puede realizar todo el ciclo de desarrollo con herramientas totalmente gratuitas, además de que las mismas están disponibles para todos los sistemas operativos habituales hoy en día (Linux, Windows y MacOs)
En este curso hemos trabajado con las últimas herramientas disponibles, Android Studio, estudiándose el procedimiento de instalación así como las actividades de actualización recomendables
Todos los materiales creados y utilizados están disponibles online en diversos formatos, con licencias abiertas y libres CC, lo que facilita su acceso además de fomentar entre los docentes el hábito de compartir los materiales didácticos. Podemos encontrar el índice de las materiales como los distintos materiales teóricos utilizados.
Durante el curso se han creado varias aplicaciones de prueba y una aplicación calculadora completamente funcional (abajo se adjunta una imagen de su aspecto), cuyo código está disponible online
Este curso se ha impartido en el CEP de Jaén en Diciembre de 2014 con una duración de 30 horas
Resumen de los temas tratados en el curso
Introducción a Android
- Sistema Operativo?
- Aplicaciones
- Seguridad
- ¿es gratuito?
- Versiones
- Historia
Estructura
- Librerias
- Apps
Programación
Instalación del IDE
Instalación de eclipse
- ¿qué es ADT?
- Instalación del bundle
Instalación de Android Studio
- Instaláción y configuración
- Problemas con Java
- Problemas de rendimiento
- Gradle
Elementos comunes
- SDK
- Actualizaciones
Componentes
- SDK Manager
- AVD Manager
Estructura de una aplicación
Código Java
- Java
- POO
- Clases y packages
Recursos
- Configuración Visual
- Layout
- Views
- Estilos
- Imágenes
- Cadenas
- Ejemplo: pantalla de login.
Estructura visual
Tipos de layout
- RelativeLayout
- TableLayout
- AbsoluteLayout
Modificadores visuales
- Weight
- Gravity
Ejemplo de layouts de aplicaciones: Login, calculadora
Construcción de la estructura compleja de la pantalla de una calculadora, juego tipo memory
Se usan:
- TableLayout
- TableRow
- Views
- Estilos
- Weight
Componentes
Tipos
- Button
- TextView
- EditText
- ImageView
Propiedades
- Layout
- Text
- Aspecto
- Jerarquia de herencia en controles
- Ids y su importancia
- Asistentes
- Ejemplo de propiedades en diversos controles
Estilos
- Utilidad
- Generación de estilos (extract)
Acceso a los componentes
- findViewByID (detección de controles no disponibles)
- Casting
- Ejemplo: crear una variable global con el control “cacheado”
- Cacheado de referencias a componentes
Eventos: Listener
- OnClicK
- Notificaciones: Toast
- ¿Otros eventos?: onCreate
- Ejemplo: calculadora muestra pulsación
- Ejercicio: tecla “.”, “0” como valor inicial
Depuracion
- Creación y administración de emuladores
- Uso del emulador para depuracion
- Puntos de ruptura
- Ver variables
- Parar, continuar, saltar, …
Errores frecuentes
- Distinto nombre de la función de eventos y en fichero xml
- No se inicializan las variables
Tratamiento de errores
- Detección en validaciones
- Excepciones
Adaptación a diferentes pantallas
- Creando diferentes layouts para distintas orientaciones
- Creando diferentes layouts para distintas densidades
- Utilización de imágenes de diferentes resoluciones
- Uso de dimensiones
Activities
- Aplicaciones multipantalla
- Creación
- Cierre
- Estructura
- Necesidad de comunicación
Intent
- Contenidos
- Tipos
Emuladores alternativos
- GennyMotion
Documentacion
¿donde?
Encontrar error entre los messages
Depuracion con el movil
Diferentes layouts
Publicacion de aplicaciones