Universidad Nacional Mayor de San Marcos
Universidad del Perú, Decana de América
FACULTAD DE INGENIERÍA DE SISTEMAS E INFORMÁTICA
Centro de Responsabilidad Social y Extensión Universitaria
SÍLABO
CURSO: ANDROID I
Datos Generales
● Nombre del curso: Android I
● Horas: 36 horas (24 de clase + 2 de examen + 10 de trabajos virtuales)
● Prerrequisito: Fundamentos de programación en Kotlin
Sumilla
Se desarrollaran los siguientes temas:
● Introducción al desarrollo móvil con Android.
● Aspectos fundamentales de las aplicaciones (apps) Android.
● Manejo de Jetpack Compose
● Recursos de la aplicación (imágenes, vectores, dimensiones, etc.)
● Archivos de configuración de las apps (Manifest, gradle, etc.)
● Manejo del patrón MVVM
Objetivo del curso:
Que el estudiante sea capaz de comprender cómo funciona una aplicación en Android y sea
capaz de crear una app sencilla al final del curso, con una interfaz de usuario totalmente
funcional.
Programación:
Sesión 1: Introducción a Android
● Descripción del desarrollo móvil en Android
● Historia y ecosistema Android.
● Descripción de la arquitectura de Android.
● Instalación del android studio, configuración, emuladores.
● Creación de mi primer proyecto Hola Mundo y ejemplos sencillos.
Sesión 2: Introducción a Jetpack Compose
● Qué es Jetpack Compose, ventajas sobre Android XML.
● Paradigma de programación declarativa vs programación imperativa.
● Funciones Composables y Preview de Composables
● Paso de parámetros entre compostables.
● Paso de expresiones lambda.
Sesión 3: Componentes Básicos de Jetpack Compose
● Modifiers
● Layouts básicos: Column, Row, Box y Card
● Manejo de textos y fuentes: Text
● Botones: Button, TextButton, FloatingActionButton y eventos
● Image e Icon, ImageBitmap e ImageVector
Sesión 4: Estados y Componentes de entrada de Jetpack Compose
● States y State Hoisting
● Checkbox, Switch y RadioButton
● TextField e OutlinedTextField
● Dropdown Menu y ModalBottomSheet
● Slider y ProgressIndicator
Sesion 5: Componentes de navegación de Jetpack Compose
● Componente Scaffold
● Barra superior: TopAppBar
● Menús de navegación: NavigationDrawer y NavigationBar
● ViewPager
● Jetpack Navigation
Sesion 6: Temas, Animaciones y gestos en Jetpack Compose
● Temas con Jetpack Compose, Material Design.
● Animaciones básicas y transiciones
● Animaciones personalizadas
● Gestos: Desplazamiento, Arrastres, deslices, y Multitouch
● Interacciones con composables
Sesion 7: Arquitectura de la UI con Jetpack Compose y MVVM
● Ciclo de vida de los Activities y Composables
● Efectos secundarios y Fases de la UI
● Patron Model-View-ViewModel (MVVM)
● Manejo de estados con Kotlin Flow
● Caso práctico: Componente SearchBar
Sesion 8: Examen Final
Evaluación
PF = (PP + EX) / 2
Dónde:
PF = Promedio Final
PP = Promedio Prácticas por clase
EX =Examen Final
Universidad Nacional Mayor de San Marcos
Universidad del Perú, Decana de América
FACULTAD DE INGENIERÍA DE SISTEMAS E INFORMÁTICA
Centro de Responsabilidad Social y Extensión Universitaria
SÍLABO
CURSO: ANDROID II
Datos Generales
● Nombre del curso: Android II
● Horas: 36 horas (24 de clase + 2 de examen + 10 de trabajos virtuales)
● Prerrequisito: Android I
Sumilla
Se desarrollaran los siguientes temas:
● Entendimiento de 3 de los 4 componentes de aplicación (Activity, Service, Broadcast
Receiver)
● Gestión de datos y archivos en el app.
● Persistencia
● Comunicación con otras apps y manejo de alertas y notificaciones.
● Comunicación con servidores externos mediante internet
● Manejo de la multitarea en android.
Objetivo del curso:
Que el estudiante profundice en las funcionalidades que provee el SDK de Android para
producir aplicaciones más complejas.
Programación:
Sesión 1: Interacción con otras apps y Permisos
● Activities e Intents
● Permisos en Android: Declaración y solicitud
● Abrir otras apps desde nuestra app/abrir el app desde otras apps
● Intent filters e Intents estándar
● Android sharesheet: Envío y recepción de datos a otras apps
Sesión 2: Manejo de archivos en Android
● Almacenamiento específico y compartido
● Manejo de contenido multimedia con MediaStore
● Selector de fotos
● Selector de documentos y otros archivos
● Almacenamiento Externo
Sesión 3: Manejo de Datos persistentes en Android
● Jetpack Datastore
● Introducción a SQLite y Jetpack Room,
● Entidades, Relaciones y Vistas
● Clases DAO, Queries asíncronas
● Carga de datos, Migración de bases de datos
Sesión 4: Servicios en Android
● Clase Service vs Clase IntentService
● Comandos de servicios
● Servicios Enlazados
● Servicios en primer plano
● Broadcast receivers
Sesión 5: Multitarea en Android
● Corrutinas en Android, DIspatchers
● CoroutineScope, Jobs y CoroutineContext
● WorkManager: Workers, WorkRequests y Estados
● Concatenación, configuración y subprocesos en Workmanager
● Alarmas en android.
Sesión 6: Servicios REST en Android
● Conectarse a internet, configuración del Ktor
● Routing, Request y Responses en Ktor
● Descarga y subida de archivos con Ktor
● WebSockets con Ktor
● Administración de la red en Android
Sesión 7: Notificaciones
● Tipos de notificaciones y Lanzamiento de notificaciones
● Personalización de notificaciones
● Notificaciones con respuesta directa, barra de progreso
● Mensajes urgentes.
● Push de notificaciones con Firebase.
Sesion 8: Examen Final
Evaluación
PF = (PP + EX) / 2
Dónde:
PF = Promedio Final
PP = Promedio Prácticas por clase
EX =Examen Final
Universidad Nacional Mayor de San Marcos
Universidad del Perú, Decana de América
FACULTAD DE INGENIERÍA DE SISTEMAS E INFORMÁTICA
Centro de Responsabilidad Social y Extensión Universitaria
SÍLABO
CURSO: ANDROID III
Datos Generales
● Nombre del curso: Android III
● Horas: 36 horas (24 de clase + 2 de examen + 10 de trabajos virtuales)
● Prerrequisito: Android II
Sumilla
Se desarrollaran los siguientes temas:
● Aplicación de las buenas prácticas de arquitectura de software en android.
● Manejo del ContentProvider para la compartición de datos avanzada entre apps.
● Gestión del contenido multimedia en un app.
● Manejo de Sensores, conectividad y transmisión de datos usando Bluetooth y NFC.
● Uso de la ubicación y su integración con google maps.
Objetivo del curso:
Que el estudiante sea capaz de finalizar una app completa en Android, con una arquitectura
robusta, escalable, y que pueda usar el hardware del celular, como la cámara y los
sensores.
Programación:
Sesión 1: Arquitectura de Software en Android
● Principios SOLID y patrones de diseño
● Inyección de dependencia: Manual DI vs Hilt vs Dagger vs Koin
● Módulos y Features
● Gradle: características y configuración.
● Build Variants, Builds Types y Product Flavors
Sesión 2: Clean Architecture
● Características del Clean Architecture
● Capa de Presentación: Patrones MVVM y MVI
● Capa de Dominio: Casos de Uso, Interfaces de Repositorios y corrutinas
● Capa de Datos: Implementación de Repositorios y Data Sources
● Integración de las 3 capas mediante inyección de dependencia.
Sesión 3: ContentProvider
● Creación y configuración de un Content Provider
● Operaciones con Content providers
● Proveedor de Archivos
● Proveedor de Calendario
● Proveedor de Contactos
Sesión 4: Audio, Video e Imágenes en Android
● Manejo de imagenes: Bitmap y Vector. Librería Coil
● Jetpack Media3
● Exoplayer
● Media3 Transformer
● MediaPlayer y MediaRecorder
Sesion 5 Manejo de Sensores y conectividad
● Sensores de movimiento
● Sensores de posición
● Sensores de entorno
● Conectividad WiFi
● Conectividad Móvil
Sesion 6: Bluetooth y NFC
● Configuración Bluetooth, Bluetooth Classic y Bluetooth LE
● Búsqueda y emparejamiento de dispositivos Bluetooth
● Transferencia de datos con Bluetooth
● Configuración NFC
● Transferencia de datos por NFC
Sesion 7: Ubicación y Mapas con la API de Google
● Configuración de la ubicación
● Operaciones con ubicación
● API de Google Maps, configuración.
● Marcadores, Eventos y formas
● Gestión del mapa: Posición, zoom y rumbo
Sesion 8: Examen Final
Evaluación
PF = (PP + EX) / 2
Dónde:
PF = Promedio Final
PP = Promedio Prácticas por clase
EX =Examen Final