1- Entorno de desarrollo y primera aplicación
- El mundo Android
- Android y las versiones
 - Personalizaciones del sistema operativo
 - Dispositivos Android
 
 - El entorno de desarrollo
- El mundo «Eclipse»
 - Descargar e instalar Android Studio
 - Crear la primera aplicación
 
 - Emular un dispositivo Android
- Crear un dispositivo
 - Crear otros emuladores
 - Las resoluciones
 
 - El primer proyecto Android
 - Ficheros y partes de un proyecto Android
- Partes de un proyecto
 - Carpetas de un proyecto
 - Resultado del proyecto
 
 - La programación orientada a objetos
- Introducción a la POO (programación orientada a objetos)
 - Elementos básicos de la POO
 - Los tres pilares de la Programación Orientada a Objetos
 - Jerarquía de clases
 
 - Actualizar versión, importar proyectos de «Eclipse» y proyectos de ejemplos
- Actualizar versión
 - Importar proyectos de Eclipse
 - Importar los proyectos de ejemplo de este curso
 - Ejecutar ejemplos de la biblioteca
 
 
2- Android y Java
- Cuestiones básicas de Java
- Lenguajes de programación
 - Lenguaje de programación de alto nivel y de bajo nivel
 - Arquitectura ordenador + sistema operativo
 
 - Programación orientada a objetos
- Introducción
 - Objetos
 - Clases
 - Modelo de objetos
 - Relaciones entre objetos
 
 - Programa Java
- Java en Android
 - Cómo hacer los siguientes ejemplos
 
 - Tipos y alcance de variables. Casting
- Concepto de variable
 - Variables primitivas
 - Variables referenciadas
 - Casting o transformaciones de tipo
 
 - Estructuras básicas de programación
- Expresiones
 - Operadores
 - Toma de decisiones, bifurcación del código
 - Bucles
 
 - Alcance de variables
- Variables locales
 - Variables de instancia
 - Variables estáticas o de clase
 - Métodos estáticos o de clase
 
 - El entorno de desarrollo Android Studio
- Ventana principal
 - Otras ventanas
 - Constraint Layout
 
 
3- Actividades e Intents
- Activities
- Ciclo de vida de una actividad
 - Ejemplo de una actividad
 - Primera aplicación con interactividad
 - Otro ejemplo con interactividad
 - Recuerda
 - Estructura de las actividades. Crear una aplicación «básica»
 
 - Intents
 - Tipos de proyectos de Android
 - Ejemplos
 - Intent con retorno de datos
 
4- La interfaz en Android
- Etiquetas
 - Botones
 - Imágenes
 - Cuadro de texto
 - Ejemplo
 - Checkbox o casillas de verificación
 - RadioButton o botones de opción
 - Ejemplo
 - Opciones comunes
- Relleno o Padding
 - Colores
 - Otros métodos
 - Otras propiedades
 
 - Ventanas de cuadros de diálogo
- Un cuadro de diálogo más sencillo
 - ¿Instrucciones tachadas?
 - El objeto «Toast»
 - El contexto
 
 - Más sobre los Intents
- Novedades a partir de Android 6.0
 - Tipos de Intents
 - Filtros de los Intents
 - Resolver conflictos de filtros de «Intent»
 - Resumiendo el objeto Intent
 - Tipos MIME
 
 - ¿Tres tipo de «listeners»?
- Método 1
 - Método 2
 - Método 3
 
 
5- Android y Java II. Depuración de aplicaciones
- Más clases importantes
- Clase Math
 - Clases envoltorio de las variables primitivas o wrapper classes
 - Clase Integer
 - Clase Character
 
 - Clase String
- Constructores
 - Métodos principales
 
 - Excepciones
- Ejemplos de excepciones asociadas a errores de ejecución
 - Bloque try… catch… finally
 - Cláusula throws
 
 - Arrays
- Elementos en un array
 - Arrays multidimensionales
 
 - Constructores
- Constructores de clases no pertenecientes a la API
 - Palabra reservada this
 - Sobrecarga de métodos
 
 - Herencia
- Notas básicas sobre herencia
 - Palabra reservada super
 
 - Paquetes y modificadores de acceso
 - Depuración de aplicaciones
 - Herramientas de depuración
 - Ventanas de depuración
 - Resumen de ventanas de estado de Android Studio
 - Opciones del emulador
 
6- Interfaz gráfica. Contenedores de widgets y las notificaciones
- Introducción al diseño en Android
- Plantillas de creación de actividades
 - Conexión con las actividades
 - Trabajar con contenedores o layouts
 - Herramienta de diseño de Android Studio
 - Barra de herramientas
 
 - Disposición lineal con «LinearLayout»
- Orientación
 - Modo de relleno
 - Peso
 - Gravedad
 - Márgenes
 - Modelo en filas
 - Añadir un layout con propiedades
 
 - Posiciones relativas
- Propiedades de ajuste
 - Posiciones relativas con otros controles
 - Ejemplo
 - Superposición
 
 - Formato en tablas
- Diseñar la tabla
 - Otros diseños de la tabla
 - GridLayout
 
 - Desplazamiento de la pantalla o «scroll»
 - Marcos o «FrameLayout»
 - Detalles del diseño
- Unidades de medida
 - Adaptarse a la orientación de la pantalla
 
 - Crear la interfaz mediante programación
 - Mostrar notificaciones
- La importancia de las versiones
 - Notificación sencilla
 - Notificación avanzada
 - Personalización de las notificaciones
 
 - Otro emulador
 
7- El teclado y controles de lectura de datos
- El teclado
- Tipos de teclados
 - Ajustar a la pantalla
 - Eventos del teclado
 - Escribir métodos de una actividad (Override)
 - Registrar eventos
 - Resumen
 - Entrada con varios campos
 - Personalizar la entrada de datos
 
 - Vista de barra de progreso «ProgressBar View»
 - AutocompleteTextView
 - Fechas y horas
 - Controles de listas
- ListView
 - SpinView
 
 - Más estilos para las listas
 - NumberPicker
 
8- Cuadrícula, pestañas, Imágenes y menús (ActionBar). Fragments
- Cuadrícula
 - SeekBar
 - Mostrar imágenes
- Control Galería. «Deprecated»
 - Cuadrícula de imágenes
 - Alternativa 1 al control Gallery
 - Alternativa 2 a «Galley». Galería con ViewPager
 
 - Menús
- Menú clásico
 - Menú contextual
 - ActionBar
 - Toolbar
 - Menús con ToolBar
 - Otras opciones de menú
 - Floating Action Button
 - Snackbar
 
 - CardView y RecicleView
 - RecyclerView
 - Ampliando la «AppBarLayout»
 - Navegador Web
 - Fragments
- Mensaje emergente
 - Aplicaciones con varios»fragment»
 - Fragments según la plantilla «basic activity»
 - Cuadros de diálogo según las nuevas API’s
 - Fragments para leer fechas y horas
 
 - La navegación con Android
 
9- Almacenamiento de datos
- Almacenar preferencias de usuario
 - Crear una ventana de preferencias
 - Almacenar datos en ficheros
- Guardar datos en la memoria interna
 - Guardar datos en una tarjeta externa
 
 - Bases de datos
- SQLite
 - Gestión de las bases de datos con las clases «SQLiteOpenHelper» y «DBAdapter»
 - Herramientas externas para la gestión de las bases de datos
 - Otro enfoque del uso de base de datos. Acceso completo con SQL sin «dbAdapter»
 - Sobre los cursores y otro métodos…
 - Más ejemplos de la sintaxis
 - Acceder a SQL Server
 
 
10- Proveedores de contenidos. Networking y multimedia
- Proveedores de contenidos
- Compartir datos en Android
 - Utilizar un proveedor de contenido
 
 - Mensajes SMS
- Enviar mensajes SMS mediante programación
 - Acuse de recibo del envío del mensaje
 - Envío de mensajes mediante «Intents»
 - Recibir mensajes SMS
 
 - Enviar mensajes de correo electrónico
 - Networking
- Descargar datos binarios
 - Descargar ficheros de texto
 
 - Multimedia
- Audio con MediaPlayer/MediaRecorder
 - Grabar audio
 - Ejemplos con vídeo
 - Cámara
 
 - Estilos
- Definir nuevos estilos
 - Definir formas
 - Estilos genéricos
 - Estilos según los estados
 
 
11- Geolocalización, sensores y gráficos. Servicios Web
- Dibujar en Android
- Dibujar objetos más complejos
 - Detectar interactividad
 - Cargar gráficos
 - Otros ejemplos…
 
 - Servicios basado en localización
- Mostrar mapas
 - Cambiar vistas
 - Información de nuestra clave de mapas
 - Navegar a una ubicación distinta
 - Obtener la posición
 - Eventos en el mapa
 - Marcadores
 - Obtener la ubicación
 - Traducción inversa
 
 - Sensores
 - Widgets
 
12- Servicios y publicación de programas
- Servicios
- Servicio sencillo
 - Servicios con iBinder
 - Servicio remoto con mensajes «Messenger»
 - Lanzar servicios en eventos
 - Broadcastreceiver de mensajes SMS
 - Realizar tareas en los servicios
 
 - Navegación entre actividades con fragments
- Navegación con fichas o «tabs»
 - Navegación con «Drawer»
 
 - Publicar aplicaciones Android
- Generar un fichero APK firmado con Android Studio
 - Versiones
 - Desplegar la aplicación
 
 


