public class MainModel extends java.lang.Object implements ModelFunctions
Se encarga, principalmente, de servir como intermediario entre los Presentadores y la clase SQLiteHelper que se ocupa del manejo de la Base de Datos, haciendo consultas, bien para obtener informacion de la misma, bien para almacenar informacion (como Pacientes o Mediciones) introducida por el usuario, o bien para eliminar informacion de la misma.
Ademas de eso, se encarga de gestionar si se debe mostrar o no el boton de añadir una nueva medicion a un paciente en particular.
Esta clase forma parte de la aplicacion TFG-Goniometer, desarrollada para el Trabajo de Fin de Grado - Grado en Ingenieria Informatica (Universidad de Valladolid)
SQLiteDatabase
,
Cursor
,
GoniometerDBHelper
,
Paciente
,
Medicion
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
DATETIME |
static java.lang.String |
ID_PACIENTE |
static java.lang.String |
LECTURA_GONIOMETRO |
static java.lang.String |
NOMBRE_PACIENTE |
Constructor and Description |
---|
MainModel() |
Modifier and Type | Method and Description |
---|---|
java.util.ArrayList<java.lang.String> |
getDatosFormateados(java.util.ArrayList<java.lang.String> medicion)
Metodo que se encarga de, a partir de los datos correspondientes a una medicion, dar un
formato adecuado a los mismos para que se puedan mostrar correctamente en la pantalla del
dispositivo.
|
static MainModel |
getInstance()
Unico y principal constructor de la clase.
|
java.util.ArrayList<java.util.ArrayList<java.lang.String>> |
getMedicionesPacienteBy(java.lang.String nombre,
int id)
Metodo que se encarga de realizar una consulta a la Base de Datos y devolver una lista con
todas las mediciones que se han realizado a un Paciente en concreto, a partir del
nombre e ID del mismo.
|
boolean |
getMostrarOpcionesAlmacenarMedicion()
Metodo "getter" de la variable mostrarOpcionesAlmacenarMedicion para ver si es
necesario mostrar el boton de añadir una nueva medicion al perfil de un paciente.
|
boolean |
getMostrarOpcionesBorrarPaciente()
Metodo "getter" de la variable mostrarOpcionesBorrarPaciente para ver si es
necesario mostrar el boton de borrar el perfil de un paciente.
|
java.util.ArrayList<java.lang.String> |
getPacienteBy(java.lang.String nombre,
int id)
Metodo que se encarga de realizar una consulta a la Base de Datos y devolver una lista con
la informacion a mostrar de un Paciente (en concreto, edad, sexo, diagnostico,
comentarios adicionales y tags) a partir del nombre y el ID del mismo.
|
java.util.ArrayList<java.util.ArrayList<java.lang.String>> |
getPacientes()
Metodo que se encarga de realizar una consulta a la Base de Datos y devolver una lista con
todos los nombres e ids de los pacientes almacenados en la misma.
|
java.util.ArrayList<java.util.ArrayList<java.lang.String>> |
getPacientesFiltrado(java.lang.String texto,
java.lang.String filtro)
Metodo que se encarga de realizar una consulta a la Base de Datos y devolver un listado de
los nombres e IDs de los pacientes que se encuentran en la misma, filtrados segun el criterio
seleccionado por el usuario en el Spinner de PacientesFragment y la
informacion introducida en el EditText del mismo Fragment.
|
java.util.ArrayList<java.util.ArrayList<java.lang.String>> |
getUltimasMediciones()
Metodo que se encarga de realizar una consulta a la Base de Datos y devolver una lista con
las ultimas 10 mediciones (como maximo) que se han almacenado en la misma, ordenadas de mas
a menos recientes.
|
int |
onDeleteMeasurement(java.lang.String fechaHora)
Metodo que se encarga de realizar una consulta a la Base de Datos para borrar una medicion
de la misma, a partir de la fecha-hora en la que se realizo.
|
int |
onDeletePatient(java.lang.String nombre,
int id)
Metodo que se encarga de realizar una consulta a la Base de Datos para, primero, borrar todas
las mediciones que se han realizado a un paciente, y, despues, eliminar al paciente en
cuestion de la misma, a partir del nombre e ID del paciente.
|
void |
setInitialSettings(android.content.Context context)
Metodo que proporciona el Context a la clase SQLiteHelper para acceder a la Base de Datos.
|
void |
setMostrarOpcionesAlmacenarMedicion(boolean opciones)
Metodo "setter" de la variable mostrarOpcionesAlmacenarMedicion para ver si es
necesario mostrar el boton de añadir una nueva medicion al perfil de un paciente.
|
void |
setMostrarOpcionesBorrarPaciente(boolean opciones)
Metodo "setter" de la variable mostrarOpcionesBorrarPaciente para ver si es
necesario mostrar el boton de borrar el perfil de un paciente.
|
long |
storeMeasurement(java.util.ArrayList<java.lang.String> nuevaMedicion)
Metodo que, dado el ArrayList
|
long |
storePatient(java.util.ArrayList<java.lang.String> nuevoPaciente)
Metodo que realiza una consulta a la Base de Datos para almacenar en la misma la informacion
del paciente que recibe como parametro
|
public static final java.lang.String LECTURA_GONIOMETRO
public static final java.lang.String NOMBRE_PACIENTE
public static final java.lang.String ID_PACIENTE
public static final java.lang.String DATETIME
public static MainModel getInstance()
public void setInitialSettings(android.content.Context context)
Ademas, utiliza el Context recibido como parametro para obtener los Resources y, asi, recuperar los Strings del fichero res/values/strings.xml.
context
- Contexto de la aplicacion (MainActivity)public long storePatient(java.util.ArrayList<java.lang.String> nuevoPaciente)
storePatient
in interface ModelFunctions
nuevoPaciente
- ArrayListpublic long storeMeasurement(java.util.ArrayList<java.lang.String> nuevaMedicion)
storeMeasurement
in interface ModelFunctions
nuevaMedicion
- ArrayList@Nullable public java.util.ArrayList<java.util.ArrayList<java.lang.String>> getPacientes()
getPacientes
in interface ModelFunctions
public java.util.ArrayList<java.lang.String> getPacienteBy(java.lang.String nombre, int id)
getPacienteBy
in interface ModelFunctions
nombre
- Nombre del paciente del que recuperar la informacionid
- ID del paciente del que recuperar la informacionpublic java.util.ArrayList<java.util.ArrayList<java.lang.String>> getMedicionesPacienteBy(java.lang.String nombre, int id)
getMedicionesPacienteBy
in interface ModelFunctions
nombre
- Nombre del paciente del que recuperar la informacionid
- ID del paciente del que recuperar la informacionpublic int onDeletePatient(java.lang.String nombre, int id)
onDeletePatient
in interface ModelFunctions
nombre
- Nombre del paciente del que eliminar toda la informacionid
- ID del paciente del que eliminar toda la informacionpublic java.util.ArrayList<java.util.ArrayList<java.lang.String>> getPacientesFiltrado(java.lang.String texto, java.lang.String filtro)
getPacientesFiltrado
in interface ModelFunctions
texto
- Informacion introducida por el usuario en el EditTextfiltro
- Filtro seleccionado por el usuario en el Spinnerpublic java.util.ArrayList<java.util.ArrayList<java.lang.String>> getUltimasMediciones()
getUltimasMediciones
in interface ModelFunctions
public java.util.ArrayList<java.lang.String> getDatosFormateados(java.util.ArrayList<java.lang.String> medicion)
Principalmente realiza tareas de añadir saltos de linea entre cada palabra (con el fin de evitar que alguna parte de la medicion no se pueda visualizar en el dispositivo), asi como de dejar solo la primera letra de cada palabra con mayuscula, y pasando el resto de la misma a minuscula, para que asi el texto ocupe menos espacio (los datos, por defecto, se obtienen de la Base de Datos con todos su caracteres en mayuscula).
Por ultimo, este metodo tiene en cuenta el idioma del dispositivo para mostrar la informacion de un modo u otro, atendiendo a criterios sintacticos.
getDatosFormateados
in interface ModelFunctions
medicion
- ArrayListpublic int onDeleteMeasurement(java.lang.String fechaHora)
onDeleteMeasurement
in interface ModelFunctions
fechaHora
- Fecha y hora en la que se realizo la medicionpublic boolean getMostrarOpcionesAlmacenarMedicion()
public void setMostrarOpcionesAlmacenarMedicion(boolean opciones)
opciones
- Nuevo valor de la variable mostrarOpcionesAlmacenarMedicionpublic boolean getMostrarOpcionesBorrarPaciente()
public void setMostrarOpcionesBorrarPaciente(boolean opciones)
opciones
- Nuevo valor de la variable mostrarOpcionesBorrarPaciente