CURSO INTERMEDIO DE PROGRAMACIÓN EN ANDROID 1. Entorno de desarrollo y primera aplicación 1. El mundo Android 1.1 Android y las versiones 1.2 Personalizaciones del sistema operativo. 1.3 Dispositivos Android 2. El entorno de desarrollo 2.1 El mundo "Eclipse" 2.2 Descargar e instalar Eclipse Primera parte. Eclipse Segunda parte. SDK de Android Tercera parte. Configurar Android SDK 3. Emular un dispositivo Android 4. El primer proyecto Android Otro ejemplo Más detalles de los ejemplos 5. Ficheros y partes de un proyecto Android 5.1 Partes de un proyecto 5.2 Carpetas de un proyecto 5.3 Resultado del proyecto 6. La programación orientada a objetos 6.1. Introducción a la POO (programación orientada a objetos) De la programación estructurada al enfoque orientado a objetos 6.2 Elementos básicos de la POO Las clases Los Objetos Los miembros de una clase 6.3 Los tres pilares de la Programación Orientada a Objetos Herencia Encapsulación Polimorfismo 6.4 Jerarquía de clases Relaciones entre objetos Ejercicio 1. Instalar el entorno de trabajo
2. Android y Java 1. Cuestiones básicas de Java 1.1 Lenguajes de programación 1.2 Lenguaje de programación de alto nivel y de bajo nivel 1.3 Arquitectura ordenador + sistema operativo 2. Programación orientada a objetos 2.1. Introducción 2.2 Objetos 2.3 Clases Representar las características comunes en el código Representar el comportamiento común a nivel de código 2.4 Modelo de objetos Abstracción Encapsulación Modularidad Herencia Paso de Mensajes Polimorfismo 2.5 Relaciones entre objetos Visibilidad 3. Programa Java Ejemplo de programa Java: Declaración genérica de un método 3.1 Java en Android Escribir un programa Java 3.2 Cómo hacer los siguientes ejemplos. 4. Tipos y alcance de variables. Casting. 4.1 Concepto de variable 4.2 Variables primitivas De tipo entero: Reales o de coma flotante: Booleanas o de tipo lógico: Tipo char o de carácter: 4.3 Variables referenciadas 4.4 Casting o transformaciones de tipo
5. Estructuras básicas de programación 5.1 Expresiones 5.2 Operadores Aritméticos De asignación De comparación Lógicos 5.3 Tomas de decisiones, bifurcación del código Condicional simple if.. else Condicional compuesto if.. else if.. else if.. etc.. else Operador ternario Condicional switch 5.4 Bucles Bucle for Sentencias break, return y continue Bucles anidados Bucle while Bucle do.. while 6. Alcance de variables 6.1 Variables locales 6.2 Variables de instancia 6.3 Variables estáticas o de clase 6.4 Métodos estáticos o de clase Ejercicio 1. Crear una actividad sencilla. Ejercicio 2. Actividades con secuencias de código. 3. Actividades e Intents 1. Activities 1.1 Ciclo de vida de una actividad 1.2 Ejemplo de una actividad 1.3 Estilos de pantallas 1.4 Primera aplicación con interactividad 1.5 Otro ejemplo con Interactividad 1.6 Recuerda 2.Intents 2.1 Ejemplo "Bundle" 2.2 Ejemplo 2
3. Tipos de proyectos de Android 3.1 Bloques básicos de una aplicación 4. Otro entorno de desarrollo: "Motodev" 4.1 Ejemplo Ejercicio 1. Realizar una aplicación interactiva con captura de datos. 4. La interfaz en Android 1. Etiquetas 2. Botones 3. Imágenes 4. Cuadro de texto 5. Ejemplo 6. Checkbox o casillas de verificación 7. RadioButton o botones de opción 8. Ejemplo 9. Opciones comunes 9.1 Relleno o Padding 9.2 Colores 9.3 Otros métodos Habilitar controles Enfoque Controles en contenedores 9.4 Otras propiedades 10. Ventanas de cuadros de diálogo Un cuadro de diálogo más sencillo El objeto "Toast" El contexto 11. Más sobre los Intents 10.1 Tipos de Intents 10.2 Filtros de los Intents 10.3 Resolver conflictos de filtros de "Intent" 10.4 Resumiendo el objeto Intent Tipos MIME 11. Tres tipo de "listeners"? Método 1 Método 2 Método 3 Ejercicio 1. Aplicaciones con interfaz gráfica Ejercicio 2. Actividades con cuadros de diálogo. Ejercicio 3. Llamadas a los Intents de Android
5. Android y Java II 1. Más clases importantes 1.1 Clase Math 1.2 Clases envoltorio de las variables primitivas o wrapper classes 1.3 Clase Integer Constructores Métodos interesantes Ejemplo Ejemplo Ejemplo 2 1.4 Clase Character Constructores Métodos interesantes Ejemplo 2. Clase String. 2.1 Constructores 2.2 Métodos principales 3. Excepciones 3.1 Ejemplos de excepciones asociadas a errores de ejecución: Causas de excepciones habituales 3.2 Bloque try...catch...finally 3.3 Cláusula throws 4. Arrays Declaración Construcción Declaración+Construcción Inicialización Declaración+Construcción+Inicialización Tamaño Métodos que devuelven un array º 4.1 Arrays multidimensionales 5. Constructores 5.1 Constructores de clases no pertenecientes a la API 5.2 Palabra reservada this 5.3 Sobrecarga de métodos 6. Herencia 6.1 Notas básicas sobre herencia Nota 1 herencia Nota 2 herencia Nota 3 herencia Nota 4 herencia Nota 5 herencia Nota 6 herencia 6.2 Palabra reservada super 7. Paquetes y modificadores de acceso 7.1 Paquetes 7.2 Modificadores de acceso
6. Interfaz gráfica. Contenedores de widgets y las notificaciones 1. Introducción a los contendedores. Trabajar con contenedores 2. Disposición lineal con "LinearLayout" 2.1 Orientación 2.2 Modo de relleno 2.3 Peso 2.4 Gravedad 2.5 Márgenes 2.6 Modelo en filas 3. Posiciones relativas 3.1 Propiedades de ajuste 3.2 Posiciones relativas con otros controles 3.3 Ejemplo 3.4 Superposición 4. Formato en tablas 4.1 Diseñar la tabla 4.2 Otros diseños de la tabla Estirar (Strech), encoger (Shrink) y combinar(collapse) 5. Desplazamiento de la pantalla o "scroll" 6. Marcos o "FrameLayout" 7. Detalles del diseño 7.1 Unidades de medida 7.2 Adaptarse a la orientación de la pantalla Anclaje de vistas Ajustar tamaño y posición Ejemplo Información persistente Detectar los cambios Asegurar una posición 8. Crear la interfaz mediante programación 9. Mostrar notificaciones 9.1 Tipos de avisos 9.2 Configurar la notificación Añadir sonido Añadir vibración Añadir destello Ejercicio 1. Trabajar con "layouts" Ejercicio 2. Pantallas con desplazamiento o "scroll" Ayuda. Ejercicio 3. Trabajar con el área de notificaciones
7. El teclado y controles de lectura de datos 1. El teclado 1.2 Tipos de teclados 1.3 Secuencia de entrada de datos 1.4 Ajustar a la pantalla 1.5 Eventos del teclado 1.6 Escribir métodos de una actividad (Override) 1.7 Registrar eventos 1.8 Resumen 2. Vista de barra de progreso "ProgressBar View" 2.1 Estilos 3. AutocompleteTextView 4. Fechas y horas 4.1 TimePicker Seleccionar la hora en un cuadro de diálogo. 4.2 DatePicker Seleccionar la fecha en un cuadro de diálogo. 5. Controles de listas 5.1 ListView Selección múltiple Datos de lista en recursos o 5.2 SpinView Variación con casillas de verificación 6. Más estilos para las listas 6.1 import android.app.listactivity Ejercicio 1. Temporizadores y controles de hora.
8. Cuadrícula, pestañas, Imágenes y menús 1. Cuadrícula 2. Pestañas o solapas 2.1 Añadir solapas en tiempo de ejecución 2.2 Solapas "SlidinDrawer" 3. SeekBar 4. Mostrar imágenes 4.1 Cuadrícula de imágenes. 5. Menús 5.1 Métodos de ayuda. 5.2 Menú de opciones 5.3 Menú contextual 6. Relojes 6.1 Cronómetro 7. Navegador Web 7.1 Mostrar páginas web personalizadas. 8. Mensajes en pantalla Ejercicio 1. Controles interactivos con la interfaz. 9. Almacenamiento de datos 1. Almacenar preferencias de usuario. 2. Almacenar datos en ficheros 2.1 Guardar datos en la memoria interna. 2.2 Guardar datos en una tarjeta externa 3. Bases de datos 3.1 SQLite Crear tablas Herramientas externas para la gestión de las bases de datos Enlazar la base de datos con nuestra aplicación o 3.2 Sobre los cursores... 3.3 Más sobre las operaciones de las bases de datos 3.4 Acceder a SQL Server. Ejercicio 1. Uso de bases de datos en aplicaciones Paso 1. Preparar DBAdapter Paso 2. Cargar las notas existentes al cargar la aplicación Paso 3. Menú de opciones Paso 4. Segunda actividad para guardar las notas. Paso 5. Evento de refresco de pantalla
10. Proveedores de contenidos. Networking 1. Proveedores de contenidos. 1.1 Compartir datos en Android 1.2 Utilizar un proveedor de contenido Ejemplo utilizando constantes de consulta predefinidas Proyecciones Filtros Ordenación 1.3 Más proveedores de contenidos. 2. Mensajes SMS 2.1 Enviar mensajes SMS mediante programación. 2.2 Acuse de recibo del envío del mensaje. 2.3 Envío de mensajes mediante "Intents". 2.4 Recibir mensajes SMS 3. Enviar mensajes 4. Networking 4.1 Descargar datos binarios 4.2 Descargar ficheros de texto 4.3 Realizar llamadas Asíncronas. Ejercicio 1. Interactuar con el dispositivo: SMS Ejercicio 2: Interactuar con el dispositivo: Correo electrónico
11. Geolocalización, sensores y gráficos 1. Dibujar en Android 1.1 Dibujar objetos más complejos. 1.2 Detectar interactividad. 1.3 Cargar gráficos 1.4 Otros ejemplos... 2. Servicios basado en localización 2.1 Mostrar mapas Obtener una clave MAPS API 2.2 Mostrar los controles de zoom 2.3 Cambiar vistas. 2.4 Navegar a una ubicación distinta 2.5 Marcadores en el mapa 2.6 Resolver una localización 2.7 Obtener una ubicación 2.8 Obtener la ubicación 3. Sensores 3.1 Leer datos del sensor 4. Widgets 4.1 Widget estático 4.2 Añadir interactividad Ejercicio 1. El acceso a Google Maps Ejercicio 2. Dibujar en Android. 12. Servicios y publicación de programas 1. Servicios 1.1 Realizar tareas en los servicios 1.2 Tareas asíncronas en el servicio 1.3 Ejecutar tareas periódicamente 2. Publicar aplicaciones Android 2.1 Versiones 2.2 Firma digital de las aplicaciones 2.3 Desplegar los ficheros de aplicaciones Instalación manual Despliegue por Web Instalación desde la tienda de aplicaciones 3. Despedida del curso Ejercicio 1. Los servicios en Android