Arquitectura de la aplicación - ProyectoDane/fiuba-hora GitHub Wiki

Esta página de la wiki tiene información sobre el diseño de la aplicación y las clases que la componen.

Diagrama de clases

Descripción de las clases

SplashActivity

Pantalla incial de la aplicación (splash) con logo de DANE. Muestra el logo unos segundos y pasa a la activity de menu principal.

MenuActivity

Activity del menu principal de la aplicación, tiene 2 botones "Aprender" y "Practicar". El boton aprender lanza la activity SeccionesActivity que a su vez lanza alguna de las Intro Activities dependiendo que sección elija el usuario. El boton practicar lanza la activity SeccionesPracticarActivity que a su vez lanza alguna de las activities de los ejercicios dependiendo de la sección que elija el usuario.

SeccionesActivity

Activity de la pantalla que muestra un menú para elegir sobre qué tema se desea aprender (horas, cuartos de hora, medias horas, minutos en general, horas + minutos).

SeccionesPractica

Activity de la pantalla que muestra un menú para elegir sobre qué tema se desea practicar (horas, cuartos de hora, medias horas, minutos en general, horas + minutos).

IntroActivity

Clase abstracta que modela como se debe ver y qué comportamiento deben tener las clases que son de explicaciones introductorias a ejercicios de identificar la hora y/o minutos.

IntroHoraActivity

Clase hija de IntroActivity. Activity de la pantalla introductoria a un ejercicio que involucra identificar las horas en el reloj. Contiene tanto la explicación previa necesaria para resolver el ejercicio como sobre el concepto de los cuartos de hora.

IntroCuartosHoraActivity

Clase hija de IntroActivity. Activity de la pantalla introductoria a un ejercicio que involucra identificar los cuartos de horas en el reloj. Contiene tanto la explicación previa necesaria para resolver el ejercicio como sobre el concepto de los cuartos de hora.

IntroMediasHorasActivity

Clase hija de IntroActivity. Activity de la pantalla introductoria a un ejercicio que involucra identificar las medias horas en el reloj. Contiene tanto la explicación previa necesaria para resolver el ejercicio como sobre el concepto de las medias horas.

IntroMinutosActivity

Clase hija de IntroActivity. Activity de la pantalla introductoria a un ejercicio que involucra identificar los minutos en general en el reloj. Contiene tanto la explicación previa necesaria para resolver el ejercicio como sobre el concepto de los minutos en general.

IntroHoraMinutosActivity

Clase hija de IntroActivity. Activity de la pantalla introductoria a un ejercicio que involucra identificar las horas y minutos en el reloj. Contiene tanto la explicación previa necesaria para resolver el ejercicio como sobre el concepto de las horas y minutos.

MainActivity

Activity abstracta que modela la pantalla del ejercicio con reloj. Muestra un reloj y una hora que el usuario debe poder identificar moviendo la aguja de la hora. De hacerlo correctamente se le muestra un mensaje de correcto, de lo contrario se le pide que lo intente nuevamente.

IdentifHoraActivity

Clase hija de MainActivity. Activity de la pantalla del ejercicio para identificar la hora. Muestra un reloj y la hora que el usuario debe poder identificar moviendo la aguja de la hora. De hacerlo correctamente se le muestra un mensaje de correcto, de lo contrario se le pide que lo intente nuevamente.

IdentifCuartosHoraActivity

Clase hija de MainActivity. Activity de la pantalla del ejercicio para identificar los cuartos de hora. Muestra un reloj y los minutos que el usuario debe poder identificar moviendo la aguja de los minutos. De hacerlo correctamente se le muestra un mensaje de correcto, de lo contrario se le pide que lo intente nuevamente.

IdenfifMediasHorasActivity

Clase hija de MainActivity. Activity de la pantalla del ejercicio para identificar las medias horas. Muestra un reloj y los minutos que el usuario debe poder identificar moviendo la aguja de los minutos. De hacerlo correctamente se le muestra un mensaje de correcto, de lo contrario se le pide que lo intente nuevamente.

IdentifMinutosActivity

Clase hija de MainActivity. Activity de la pantalla del ejercicio para identificar los minutos en general. Muestra un reloj y los minutos que el usuario debe poder identificar moviendo la aguja de los minutos. De hacerlo correctamente se le muestra un mensaje de correcto, de lo contrario se le pide que lo intente nuevamente.

IdentifHoraMinutosActivity

Clase hija de MainActivity. Activity de la pantalla del ejercicio para identificar las horas y los minutos. Muestra un reloj y, la hora y minutos que el usuario debe poder identificar moviendo ambas agujas. De hacerlo correctamente se le muestra un mensaje de correcto, de lo contrario se le pide que lo intente nuevamente.

SeccionesAdapter

Adapter para la RecyclerView en la pantalla de SeccionesActivity. Contiene la lógica para popular dicha vista con elementos.

SimplePoint

Un punto con coordenadas x,y. Es usado por MainActivity para manejar las coordenadas del punto central del reloj.

Seccion

Clase contenedora de datos de las secciones que se mostraran en SeccionesActivity (nombre, icono, color de background, activtity que se debe lanzar al elegir la sección).

IntroData

Clase contenedora de datos que se mostraran en las pantallas de explicaciones introductorias a los ejercicos, i.e. clases que hereden de IntroActivity. Los datos contenidos son el texto e imagen que se mostrarán y el audio que se escuchará.

Reloj

Representa un reloj analogico con formato de 12 horas ( no 24 horas ) Solo posee horas y minutos Puede dar la posicion de sus agujas en angulos respecto a las 3 hs Puede devolver la hora en formato digital EJ 12:45 Puede devolver la hora en formato texto EJ Una menos cuarto