[AUDIO EN BLANCO] [AUDIO EN BLANCO] Estamos en nuestro siguiente módulo que es el módulo 4, y hablaremos sobre todos los componentes de una aplicación móvil. Es muy importante que conozcas todos los componentes de una aplicación, porque estos van a ser todos los ingredientes que puedes utilizar para finalmente crear tus apps. El primer componente que tenemos son las activities. Las activities son cada pantalla que compone tu aplicación. Cada una de estas pantallas se va a definir a partir de un archivo de xml que va a definir nuestra interfaz gráfica y un archivo de Java que se va a encargar de estar manipulando la interfaz gráfica. Estos en conjunto van a ser nuestro activity. Los activities, o sea nuestras clases de Java utilizan views para generar interfaces gráficas. Lo que tú ves finalmente en tu aplicación móvil, cada pantalla que ves eso, cada uno de ellos son actividades. Nuestro siguiente componente son los servicios. Los servicios no son activities, sino los servicios es un fragmento de código que se comporta invisiblemente. Puede ser activado a partir de una actividad, puede ser a través de un botón y de pronto el botón arranca un servicio. El servicio está ejecutándose, ese fragmento de código está ejecutándose en background, en el sistema operativo pero en background. Es muy común encontrar servicios como por ejemplo, servicios de notificaciones. Por ejemplo Whatsapp utiliza servicios todo el tiempo, no necesitas apretar un botón para que de pronto te lleguen todas tus notificaciones, sino que existe un fragmento de código que se está ejecutando todo el tiempo en el background y que está al pendiente de cuando te llega una notificación. Asà funcionan los servicios. Nuestro tercer componente son los content providers. Lo común de una base de datos es que pues que cada aplicación tiene su propia base de datos y la base de datos es privada para cada aplicación. Pero los content providers van mucho más allá de ello. Básicamente tendremos nuestra base de datos y tendremos también un content provider. El content provider puede accesar a la base datos, la base de datos puede estar en cualquier lugar del sistema. El content provider hace la magia para que cualquier aplicación pueda accesar a esos datos, es decir, los datos no están privados para nadie. Si están definidos como un content provider, todas las aplicaciones a través de él pueden accesarlos. Estamos con nuestro siguiente componente, los broadcast receivers. Los Broadcast Receivers básicamente todo el tiempo están alertas al sistema operativo, si hay algún cambio en el sistema operativo o algún estatus, un aviso especial por parte del sistema operativo. Por ejemplo, si tu baterÃa está baja, lo que sucederá es que el broadcast estará al pendiente de cuando exista este estatus en la baterÃa. El broadcast va a procesar esa información y entonces lanzará una notificación, lanzará una notificación a ti diciéndote que ahora la baterÃa está baja. También por ejemplo si hay una llamada entrante, el broadcast está pendiente. Si existe una llamada entrante entonces la procesa y en ese momento levanta una aplicación, en este caso la aplicación que levanta es nuestra aplicación de llamadas, mostrándonos no se, la foto de la persona, el número telefónico de quién está llamando, una serie de botones donde puedes colgar o desviar la llamada, etcétera, etcétera. Los broadcast receivers todo el tiempo están alerta a notificaciones y avisos del sistema operativo. Estamos en nuestro último componente, estos son los views. Los views son cada componente de tu interfaz de usuario. Es decir, cada botón, cada ready button, cada spinner o cada etiquetita de texto que ves ahà en tus interfaces móviles, todos estos componen tu interfaz de usuario y además están agrupados en layouts. Estos son los views. La clase intent, es un componente de nuestras aplicaciones que básicamente nos va a ayudar, va a funcionar como un pegamento, un pegamento entre una actividad y otra. Es decir la clase intent se va a encargar de levantar procesos. Seguramente has visto cuando de pronto tecleas un botón y nos pasa a otra actividad. Bueno, ese flujo entre una actividad, una pantalla y otra lo produce la clase intent. También cuando por ejemplo seleccionas el botón de compartir puedes ver que de pronto se abre una ventana, y nos dice, ¿con qué aplicación quisieras compartir esta información? Bueno, también este proceso está siendo levantado por la clase intent. El intent puede servir como un pegamento entre pantallas de la misma aplicación o entre componentes de una aplicación y otra. Es decir, la clase intent puede levantar otra aplicación estando en donde sea. Hemos aprendido mucho en este módulo. Hemos visto todos los ingredientes que necesitas para crear tus aplicaciones móviles. Por ejemplo, tu aplicación se puede componer de muchas pantallas, eso seguro lo vas a tener. Estas pantallas se llaman activities que a su vez están unidas por intents. Estas pantallas seguramente van a tener una interfaz gráfica, que están compuestas por views. y también si lo deseas tu aplicación puede levantar un servicio que va a estar escuchando en background o puede estar alerta para cualquier notificación del sistema operativo. [AUDIO EN BLANCO]