Correción recycle view pacientes y funcionalidad de descarga de historial en formato csv

This commit is contained in:
AngelSuarez03 2024-05-26 11:32:32 -06:00
parent 33a29c155f
commit 08ffeac5e4
13 changed files with 281 additions and 95 deletions

View File

@ -33,7 +33,7 @@ class AgregarActivity : AppCompatActivity() {
setContentView(view)
db = DoctorDataBaseHelper(this@AgregarActivity)
dbHistorial = HistorialDataBaseHelper(this@AgregarActivity)
historial = Historial("Doctor", intent.getStringExtra("NombreDoctor"),"Se inició la actividad alta paciente", obtenerFecha())
historial = Historial("Doctor", intent.getStringExtra("NombreDoctor"),"Se inicio la actividad alta paciente", obtenerFecha())
añadirHistorial(historial)
val opcionesGenero = arrayOf("Masculino", "Femenino", "Otro")
val adapter = ArrayAdapter(this, R.layout.simple_spinner_item, opcionesGenero)

View File

@ -10,6 +10,7 @@ import androidx.annotation.RequiresApi
import androidx.appcompat.app.AppCompatActivity
import com.terratenientes.medicalhealth.adapters.DoctorDataBaseHelper
import com.terratenientes.medicalhealth.adapters.HistorialDataBaseHelper
import com.terratenientes.medicalhealth.adapters.RecetaDataBaseHelper
import com.terratenientes.medicalhealth.data.Doctor
import com.terratenientes.medicalhealth.data.Historial
import com.terratenientes.medicalhealth.databinding.ActivityMainBinding
@ -24,16 +25,19 @@ class MainActivity : AppCompatActivity() {
private lateinit var binding: ActivityMainBinding
private lateinit var db: DoctorDataBaseHelper
private lateinit var dbHistorial: HistorialDataBaseHelper
lateinit var dbRecetas: RecetaDataBaseHelper
private lateinit var historial: Historial
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityMainBinding.inflate(layoutInflater)
val view = binding.root
setContentView(view)
historial = Historial(null, null, "Se abrió la aplicacion", obtenerFecha())
historial = Historial(null, null, "Se abrio la aplicacion", obtenerFecha())
db = DoctorDataBaseHelper(this@MainActivity)
dbHistorial = HistorialDataBaseHelper(this@MainActivity)
dbRecetas = RecetaDataBaseHelper(this@MainActivity)
añadirHistorial(historial)
//dbRecetas.crearTablaReceta()
//db.createTable()
//dbHistorial.crearTablaHistorial()
binding.btnIniciarSesion.setOnClickListener {
@ -47,7 +51,7 @@ class MainActivity : AppCompatActivity() {
binding.tvContrasena.text.toString()
)
if (res == true) {
historial.eventoRealizado = "Inicio Sesión Doctor"
historial.eventoRealizado = "Inicio Sesion Doctor"
historial.tipoUsuario = "Doctor"
añadirHistorial(historial)
Toast.makeText(this@MainActivity, "VALIDADO", Toast.LENGTH_LONG).show()
@ -57,7 +61,7 @@ class MainActivity : AppCompatActivity() {
startActivity(intent)
} else if (resPaciente == true) {
historial.tipoUsuario = "Paciente"
historial.eventoRealizado = "Inicio Sesión Paciente"
historial.eventoRealizado = "Inicio Sesion Paciente"
añadirHistorial(historial)
Toast.makeText(this@MainActivity, "VALIDADO", Toast.LENGTH_LONG).show()
val intent = Intent(this@MainActivity, PacientePrincipalActivity::class.java)
@ -69,7 +73,7 @@ class MainActivity : AppCompatActivity() {
}
}
binding.tvRegistrarme.setOnClickListener {
historial.eventoRealizado = "Accionó el botón para la pantalla de registro"
historial.eventoRealizado = "Acciono el botón para la pantalla de registro"
historial.fecha = obtenerFecha()
añadirHistorial(historial)
val intent = Intent(this@MainActivity, RegistrarDActivity::class.java)

View File

@ -33,7 +33,7 @@ class ModificarActivity : AppCompatActivity() {
setContentView(view)
db = DoctorDataBaseHelper(this@ModificarActivity)
dbHistorial = HistorialDataBaseHelper(this@ModificarActivity)
historial = Historial("Doctor", intent.getStringExtra("NombreDoctor"),"Se inició la actividad modificar paciente", obtenerFecha())
historial = Historial("Doctor", intent.getStringExtra("NombreDoctor"),"Se inicio la actividad modificar paciente", obtenerFecha())
añadirHistorial(historial)
paciente = Paciente(intent.getIntExtra("Id",2),intent.getStringExtra("Nombre Paciente").toString(),intent.getStringExtra("Apellido Paterno").toString(), intent.getStringExtra("Apellido Materno").toString(), intent.getIntExtra("Edad", 20), intent.getStringExtra("Sexo").toString(), intent.getStringExtra("Domicilio").toString())
llenarCampos()
@ -48,7 +48,7 @@ class ModificarActivity : AppCompatActivity() {
paciente.apellidoMaterno = binding.etApellidoMaterno.text.toString()
paciente.domicilio = binding.etDomicilio.text.toString()
db.modificarPaciente(paciente)
historial.eventoRealizado = "Se modifico la información de paciente ${paciente.nombre}"
historial.eventoRealizado = "Se modifico la informacion de paciente ${paciente.nombre}"
historial.fecha = obtenerFecha()
añadirHistorial(historial)
finish()

View File

@ -1,15 +1,24 @@
package com.terratenientes.medicalhealth
import android.Manifest
import android.annotation.SuppressLint
import android.content.Context
import android.content.Intent
import android.content.pm.PackageManager
import android.os.Build
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.os.Environment
import android.util.Log
import android.widget.Toast
import androidx.annotation.RequiresApi
import androidx.core.app.ActivityCompat
import androidx.core.content.ContextCompat
import androidx.recyclerview.widget.LinearLayoutManager
import com.terratenientes.medicalhealth.adapters.CellClickListener
import com.terratenientes.medicalhealth.adapters.DoctorDataBaseHelper
import com.terratenientes.medicalhealth.adapters.HistorialDataBaseHelper
import com.terratenientes.medicalhealth.adapters.PacienteAdapter
import com.terratenientes.medicalhealth.adapters.PacienteViewAdapter
import com.terratenientes.medicalhealth.adapters.RecetaDataBaseHelper
import com.terratenientes.medicalhealth.adapters.RecetaViewAdapter
@ -17,6 +26,8 @@ import com.terratenientes.medicalhealth.data.Historial
import com.terratenientes.medicalhealth.data.Paciente
import com.terratenientes.medicalhealth.data.Receta
import com.terratenientes.medicalhealth.databinding.ActivityPacienteBinding
import java.io.File
import java.io.FileWriter
import java.time.ZoneId
import java.time.ZonedDateTime
import java.time.format.DateTimeFormatter
@ -24,8 +35,8 @@ import java.time.format.DateTimeFormatter
@RequiresApi(Build.VERSION_CODES.O)
class PacienteActivity : AppCompatActivity(), CellClickListener {
lateinit var binding : ActivityPacienteBinding
private var idPaciente : String =""
private lateinit var db: DoctorDataBaseHelper
private lateinit var pacientesList: MutableList<Paciente>
private lateinit var dbHistorial: HistorialDataBaseHelper
private lateinit var historial: Historial
private lateinit var recycleAdapter : PacienteViewAdapter
@ -42,18 +53,26 @@ class PacienteActivity : AppCompatActivity(), CellClickListener {
binding.rvPacientes.layoutManager = LinearLayoutManager(this)
binding.rvPacientes.adapter = recycleAdapter
dbHistorial = HistorialDataBaseHelper(this@PacienteActivity)
historial = Historial("Doctor", intent.getStringExtra("NombreDoctor").toString(),"Se inició la actividad de pacientes", obtenerFecha())
historial = Historial("Doctor", intent.getStringExtra("NombreDoctor").toString(),"Se inicio la actividad de pacientes", obtenerFecha())
añadirHistorial(historial)
cargarListaPacientes()
nombreDoctor = intent.getStringExtra("NombreDoctor").toString()
Log.i("Pacientes", pacientes.toString())
binding.ivAgregarPaciente.setOnClickListener {
val intent = Intent(this@PacienteActivity, AgregarActivity::class.java)
intent.putExtra("NombreDoctor", nombreDoctor)
startActivity(intent)
historial.eventoRealizado = "Se accionó el boton para inciar la actividad de alta paciente"
historial.eventoRealizado = "Se acciono el boton para inciar la actividad alta paciente"
historial.fecha = obtenerFecha()
añadirHistorial(historial)
}
binding.btnDescargarCsv.setOnClickListener {
historial.eventoRealizado = "Se acciono el botón para descargar la informacion de los pacientes"
historial.fecha = obtenerFecha()
añadirHistorial(historial)
exportarCSV(this@PacienteActivity, pacientesList)
}
}
override fun onResume() {
@ -67,7 +86,7 @@ class PacienteActivity : AppCompatActivity(), CellClickListener {
override fun onEliminarClickListener(position: Int) {
val paciente = pacientes[position]
Log.i("Paciente Elim", paciente.toString())
historial.eventoRealizado = "Se acciono el botón para eliminar al usuario ${paciente.id}"
historial.eventoRealizado = "Se acciono el boton para eliminar al usuario ${paciente.id}"
historial.fecha = obtenerFecha()
añadirHistorial(historial)
db.eliminarPaciente(paciente.id)
@ -86,11 +105,48 @@ class PacienteActivity : AppCompatActivity(), CellClickListener {
intent.putExtra("Sexo", paciente.sexo)
intent.putExtra("NombreDoctor",nombreDoctor)
startActivity(intent)
historial.eventoRealizado = "Se acciono el botón para iniciar la actividad modificar paciente con los datos del paciente ${paciente.nombre}"
historial.eventoRealizado = "Se acciono el boton para iniciar la actividad modificar paciente con los datos del paciente ${paciente.nombre}"
historial.fecha = obtenerFecha()
añadirHistorial(historial)
}
fun exportarCSV(context: Context, pacienteList: MutableList<Paciente>) {
//Pedir Permisos
ActivityCompat.requestPermissions(this@PacienteActivity, arrayOf(Manifest.permission.WRITE_EXTERNAL_STORAGE,Manifest.permission.READ_EXTERNAL_STORAGE),200)
// Verificar si se tienen permisos de escritura externa
if (ContextCompat.checkSelfPermission(context, Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED) {
try {
// Crear el directorio donde se guardará el archivo CSV
val directorio = File(Environment.getExternalStorageDirectory(), "MiApp")
if (!directorio.exists()) {
directorio.mkdirs()
}
// Crear el archivo CSV
val archivoCSV = File(directorio, "Paciente.csv")
archivoCSV.createNewFile()
// Escribir los datos en el archivo CSV
val writer = FileWriter(archivoCSV)
writer.append("ID, Nombre, Apellido Paterno, Apellido Materno, Edad, Sexo, Domicilio\n")
for (paciente in pacienteList) {
writer.append("${paciente.id},${paciente.nombre},${paciente.apellidoPaterno},${paciente.apellidoMaterno},${paciente.edad},${paciente.sexo},${paciente.domicilio}\n")
}
writer.flush()
writer.close()
Toast.makeText(this@PacienteActivity,getString(R.string.res_csv), Toast.LENGTH_LONG).show()
historial.eventoRealizado = "Se descargo la información de los pacientes"
historial.fecha = obtenerFecha()
añadirHistorial(historial)
} catch (e: Exception) {
e.printStackTrace()
}
}else{
Toast.makeText(this@PacienteActivity,getString(R.string.err_permisos_storage),
Toast.LENGTH_LONG).show()
}
}
private fun obtenerFecha(): String {
val fromTimeZone = ZoneId.of("America/Mexico_City")
@ -110,4 +166,28 @@ class PacienteActivity : AppCompatActivity(), CellClickListener {
msj = "Error al almacenar la información"
Log.i("Historial", msj + " | Información almacenada: " + historial)
}
private fun cargarListaPacientes() {
pacientesList = obtenerPacientes()
}
@SuppressLint("Range")
private fun obtenerPacientes(): MutableList<Paciente> {
val pacientes = mutableListOf<Paciente>()
val db = db.readableDatabase
val cursor = db.rawQuery("SELECT * FROM ${DoctorDataBaseHelper.TABLE_PACIENTES}", null)
while (cursor.moveToNext()) {
val id = cursor.getInt(cursor.getColumnIndex(DoctorDataBaseHelper.COLUMN_ID_PACIENTE))
val nombre = cursor.getString(cursor.getColumnIndex(DoctorDataBaseHelper.COLUMN_NOMBRE_PACIENTE))
val apellidoPaterno = cursor.getString(cursor.getColumnIndex(DoctorDataBaseHelper.COLUMN_APELLIDO_PATERNO_PACIENTE))
val apellidoMaterno = cursor.getString(cursor.getColumnIndex(DoctorDataBaseHelper.COLUMN_APELLIDO_MATERNO_PACIENTE))
val edad = cursor.getInt(cursor.getColumnIndex(DoctorDataBaseHelper.COLUMN_EDAD))
val sexo = cursor.getString(cursor.getColumnIndex(DoctorDataBaseHelper.COLUMN_SEXO))
val domicilio = cursor.getString(cursor.getColumnIndex(DoctorDataBaseHelper.COLUMN_DOMICILIO))
val paciente = Paciente(id, nombre, apellidoPaterno, apellidoMaterno, edad, sexo, domicilio)
pacientes.add(paciente)
}
cursor.close()
return pacientes
}
}

View File

@ -97,7 +97,7 @@ class PacientePrincipalActivity : AppCompatActivity(), CellClickListener {
override fun onEliminarClickListener(position: Int) {
val receta = recetas[position]
db.eliminarReceta(receta)
historial.eventoRealizado = "Se accionó el boton de eliminar la receta"
historial.eventoRealizado = "Se acciono el boton de eliminar la receta"
historial.fecha = obtenerFecha()
añadirHistorial(historial)
recycleAdapter.refreshData(db.obtenerRecetasPaciente(idPaciente))
@ -106,7 +106,7 @@ class PacientePrincipalActivity : AppCompatActivity(), CellClickListener {
override fun onModifyClickListener(position: Int) {
val receta = recetas[position]
historial.eventoRealizado = "Se accionó el boton de iniciar la actividad de modificar la receta"
historial.eventoRealizado = "Se acciono el boton de iniciar la actividad de modificar receta"
historial.fecha = obtenerFecha()
añadirHistorial(historial)
val intent = Intent(this@PacientePrincipalActivity, ModificarRecetaActivity::class.java)

View File

@ -1,17 +1,27 @@
package com.terratenientes.medicalhealth
import android.Manifest
import android.annotation.SuppressLint
import android.content.Context
import android.content.Intent
import android.content.pm.PackageManager
import android.os.Build
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.os.Environment
import android.util.Log
import android.widget.Toast
import androidx.annotation.RequiresApi
import androidx.core.app.ActivityCompat
import androidx.core.content.ContextCompat
import com.terratenientes.medicalhealth.adapters.DoctorDataBaseHelper
import com.terratenientes.medicalhealth.adapters.HistorialDataBaseHelper
import com.terratenientes.medicalhealth.data.Doctor
import com.terratenientes.medicalhealth.data.Historial
import com.terratenientes.medicalhealth.databinding.ActivityPrincipalBinding
import com.terratenientes.medicalhealth.reports.ConsultarPacientesActivity
import java.io.File
import java.io.FileWriter
import java.time.ZoneId
import java.time.ZonedDateTime
import java.time.format.DateTimeFormatter
@ -21,6 +31,7 @@ class PrincipalActivity : AppCompatActivity() {
lateinit var binding : ActivityPrincipalBinding
lateinit var db : DoctorDataBaseHelper
private lateinit var dbHistorial: HistorialDataBaseHelper
private lateinit var historialList: MutableList<Historial>
private lateinit var historial: Historial
lateinit var nombreDoctor : String
override fun onCreate(savedInstanceState: Bundle?) {
@ -31,14 +42,14 @@ class PrincipalActivity : AppCompatActivity() {
db = DoctorDataBaseHelper(this@PrincipalActivity)
dbHistorial = HistorialDataBaseHelper(this@PrincipalActivity)
Log.i("Datos Doctor", intent.getStringExtra("Cedula").toString())
historial = Historial("Doctor", null,"Se inició la actividad de menú principal", obtenerFecha())
historial = Historial("Doctor", null,"Se inicio la actividad de menu principal", obtenerFecha())
datosDoctor(intent.getStringExtra("Cedula").toString())
añadirHistorial(historial)
binding.ivPacientes.setOnClickListener {
val intent = Intent(this@PrincipalActivity, PacienteActivity::class.java)
intent.putExtra("NombreDoctor", nombreDoctor)
startActivity(intent)
historial.eventoRealizado = "Se presionó el botón para iniciar la actividad de pacientes"
historial.eventoRealizado = "Se presiono el boton para iniciar la actividad de pacientes"
historial.fecha = obtenerFecha()
añadirHistorial(historial)
}
@ -47,14 +58,16 @@ class PrincipalActivity : AppCompatActivity() {
val intent = Intent(this@PrincipalActivity, RecetaActivity::class.java)
intent.putExtra("NombreDoctor", nombreDoctor)
startActivity(intent)
historial.eventoRealizado = "Se presionó el botón para iniciar la actividad de recetas"
historial.eventoRealizado = "Se presiono el boton para iniciar la actividad de recetas"
historial.fecha = obtenerFecha()
añadirHistorial(historial)
}
binding.ivHistorial.setOnClickListener {
historial.eventoRealizado = "Se presionó el botón para iniciar la actividad de historial"
historial.eventoRealizado = "Se presiono el boton para descargar el historial"
historial.fecha = obtenerFecha()
añadirHistorial(historial)
cargarHistorial()
exportarCSV(this@PrincipalActivity, historialList)
}
}
@ -90,4 +103,64 @@ class PrincipalActivity : AppCompatActivity() {
msj = "Error al almacenar la información"
Log.i("Historial", msj + " | Información almacenada: " + historial)
}
fun exportarCSV(context: Context, historialList: MutableList<Historial>) {
//Pedir Permisos
ActivityCompat.requestPermissions(this@PrincipalActivity, arrayOf(
Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.READ_EXTERNAL_STORAGE),200)
// Verificar si se tienen permisos de escritura externa
if (ContextCompat.checkSelfPermission(context, Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED) {
try {
// Crear el directorio donde se guardará el archivo CSV
val directorio = File(Environment.getExternalStorageDirectory(), "MiApp")
if (!directorio.exists()) {
directorio.mkdirs()
}
// Crear el archivo CSV
val archivoCSV = File(directorio, "Historial.csv")
archivoCSV.createNewFile()
// Escribir los datos en el archivo CSV
val writer = FileWriter(archivoCSV)
writer.append("Tipo de Usuario, Usuario, Evento Realizado, Fecha\n")
for (historial in historialList) {
writer.append("${historial.tipoUsuario},${historial.nombreUsuario},${historial.eventoRealizado},${historial.fecha}\n")
}
writer.flush()
writer.close()
Toast.makeText(this@PrincipalActivity,getString(R.string.res_csv), Toast.LENGTH_LONG).show()
historial.eventoRealizado = "Se descargo el historial de la app"
historial.fecha = obtenerFecha()
añadirHistorial(historial)
} catch (e: Exception) {
e.printStackTrace()
}
}else{
Toast.makeText(this@PrincipalActivity,getString(R.string.err_permisos_storage),
Toast.LENGTH_LONG).show()
}
}
private fun cargarHistorial() {
historialList = obtenerHistorial()
}
@SuppressLint("Range")
private fun obtenerHistorial(): MutableList<Historial> {
val historial = mutableListOf<Historial>()
val db = dbHistorial.readableDatabase
val cursor = db.rawQuery("SELECT * FROM ${HistorialDataBaseHelper.TABLE_NAME}", null)
while (cursor.moveToNext()) {
val tipoUsuario = cursor.getString(cursor.getColumnIndex(HistorialDataBaseHelper.COLUMN_TIPO_USUARIO))
val usuario = cursor.getString(cursor.getColumnIndex(HistorialDataBaseHelper.COLUMN_NOMBRE_USUARIO))
val evento = cursor.getString(cursor.getColumnIndex(HistorialDataBaseHelper.COLUMN_EVENTO))
val fecha = cursor.getString(cursor.getColumnIndex(HistorialDataBaseHelper.COLUMN_FECHA))
val hist = Historial(tipoUsuario, usuario,evento,fecha)
historial.add(hist)
}
cursor.close()
return historial
}
}

View File

@ -43,7 +43,7 @@ class RecetaActivity : AppCompatActivity(), OnItemSelectedListener {
setContentView(view)
//db.crearTablaReceta()
cargarSpinnerPacientes()
historial = Historial("Doctor", intent.getStringExtra("NombreDoctor"),"Se inició la actividad de añadir receta", obtenerFecha())
historial = Historial("Doctor", intent.getStringExtra("NombreDoctor"),"Se inicio la actividad de añadir receta", obtenerFecha())
añadirHistorial(historial)
binding.spNombrePaciente.onItemSelectedListener=this
binding.btnAgregarReceta.setOnClickListener {

View File

@ -27,7 +27,7 @@ class RegistrarDActivity : AppCompatActivity() {
val view = binding.root
setContentView(view)
dbHistorial = HistorialDataBaseHelper(this@RegistrarDActivity)
historial = Historial(null, null, "Se abrió la actividad de registro", obtenerFecha())
historial = Historial(null, null, "Se abrio la actividad de registro", obtenerFecha())
añadirHistorial(historial)
db= DoctorDataBaseHelper(this@RegistrarDActivity)
binding.btnRegistrar.setOnClickListener {

View File

@ -11,12 +11,12 @@ class HistorialDataBaseHelper (context: Context) : SQLiteOpenHelper(context, DAT
private val DATABAENAME = "MedicalHealth"
private val DATABASEVERSION=1
//PRIMERO VA EL NOMBRE DE LA TABLA
private val TABLE_NAME = "Historial"
val TABLE_NAME = "Historial"
//LUEGO VAN LAS COLUMNAS DE ESA TABLA
private val COLUMN_TIPO_USUARIO = "TipoUsuario"
private val COLUMN_NOMBRE_USUARIO = "NombreUsuario"
private val COLUMN_EVENTO = "Evento"
private val COLUMN_FECHA = "Fecha"
val COLUMN_TIPO_USUARIO = "TipoUsuario"
val COLUMN_NOMBRE_USUARIO = "NombreUsuario"
val COLUMN_EVENTO = "Evento"
val COLUMN_FECHA = "Fecha"
}
override fun onCreate(db: SQLiteDatabase?) {
val crearTabla="CREATE TABLE ${TABLE_NAME} (${COLUMN_TIPO_USUARIO} VARCHAR(30), ${COLUMN_NOMBRE_USUARIO} VARCHAR(30), ${COLUMN_EVENTO} VARCHAR(255), ${COLUMN_FECHA} VARCHAR(70))"

View File

@ -21,6 +21,7 @@ class PacienteViewAdapter (private var notes : List<Paciente>, context: Context,
val tv_domicilio : TextView = itemView.findViewById(R.id.tv_domicilio)
val ivModificar : ImageView = itemView.findViewById(R.id.iv_modificar_paciente)
val ivEliminar : ImageView = itemView.findViewById(R.id.iv_eliminar_paciente)
val tvId: TextView = itemView.findViewById(R.id.tv_id_paciente)
}
@ -36,12 +37,13 @@ class PacienteViewAdapter (private var notes : List<Paciente>, context: Context,
override fun onBindViewHolder(holder: NoteViewHolder, position: Int) {
val note = notes[position]
holder.tvNombre.text = note.nombre
holder.tvApellidoPaterno.text = note.apellidoPaterno
holder.tvApellidoMaterno.text = note.apellidoMaterno
holder.tv_edad.text = note.edad.toString()
holder.tv_sexo.text = note.sexo
holder.tv_domicilio.text = note.domicilio
holder.tvNombre.text = "Nombre:\n${note.nombre}"
holder.tvApellidoPaterno.text = "Apellido Paterno:\n${note.apellidoPaterno}"
holder.tvApellidoMaterno.text = "Apellido Materno:\n${note.apellidoMaterno}"
holder.tv_edad.text = "Edad:\n${note.edad}"
holder.tv_sexo.text = "Sexo:\n${note.sexo}"
holder.tv_domicilio.text = "Domicilio:\n${note.domicilio}"
holder.tvId.text = "Id:${note.id}"
holder.ivEliminar.setOnClickListener {
cellClickListener.onEliminarClickListener(position)

View File

@ -99,6 +99,7 @@ class ConsultarPacientesActivity : AppCompatActivity() {
// Escribir los datos en el archivo CSV
val writer = FileWriter(archivoCSV)
writer.append("Nombre, Apellido Paterno, Apellido Materno, Edad, Sexo\n")
for (paciente in pacientesList) {
writer.append("${paciente.nombre},${paciente.apellidoPaterno},${paciente.apellidoMaterno},${paciente.edad},${paciente.sexo}\n")
}

View File

@ -1,107 +1,132 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
<androidx.cardview.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_height="100dp"
android:layout_margin="10dp"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical">
android:orientation="vertical"
app:cardCornerRadius="20dp"
app:cardElevation="8dp">
<androidx.cardview.widget.CardView
android:layout_width="match_parent"
android:layout_height="100dp"
android:layout_margin="10dp"
app:cardCornerRadius="8dp"
app:cardElevation="8dp">
<GridLayout
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:columnCount="3"
android:rowCount="3">
android:layout_height="match_parent">
<TextView
android:id="@+id/tv_nombre"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:layout_marginTop="10dp"
android:layout_columnWeight="1"
android:layout_column="0"
android:layout_row="0"
android:text="@string/ht_nombre"/>
android:layout_marginStart="16dp"
android:layout_marginTop="32dp"
android:text="@string/ht_nombre"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/tv_apellido_paterno"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:layout_marginTop="10dp"
android:layout_columnWeight="1"
android:layout_column="1"
android:layout_row="0"
android:text="@string/ht_apellido_paterno"/>
android:layout_marginStart="4dp"
android:layout_marginTop="32dp"
android:text="@string/ht_apellido_paterno"
app:layout_constraintStart_toEndOf="@id/tv_nombre"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/tv_apellido_materno"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:layout_marginTop="10dp"
android:layout_columnWeight="1"
android:layout_column="2"
android:layout_row="0"
android:text="@string/ht_apellido_materno"/>
android:layout_column="2"
android:layout_columnWeight="1"
android:layout_marginStart="16dp"
android:layout_marginTop="32dp"
android:text="@string/ht_apellido_materno"
app:layout_constraintStart_toEndOf="@+id/tv_apellido_paterno"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/tv_edad"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:layout_marginTop="10dp"
android:layout_columnWeight="1"
android:layout_row="1"
android:layout_column="0"
android:layout_row="1"
android:text="@string/et_modificar_edad"/>
<TextView
android:id="@+id/tv_sexo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:layout_marginTop="10dp"
android:layout_columnWeight="1"
android:layout_column="1"
android:layout_row="1"
android:text="@string/et_modificar_sexo"/>
android:layout_marginStart="20dp"
android:text="@string/et_modificar_edad"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@+id/tv_sexo"
app:layout_constraintTop_toBottomOf="@+id/tv_apellido_materno"
app:layout_constraintVertical_bias="0.2" />
<TextView
android:id="@+id/tv_domicilio"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:layout_marginTop="10dp"
android:layout_columnWeight="1"
android:layout_column="2"
android:layout_row="1"
android:text="@string/ht_domicilio"/>
android:layout_column="2"
android:layout_columnWeight="1"
android:layout_marginStart="16dp"
android:text="@string/ht_domicilio"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tv_nombre"
app:layout_constraintVertical_bias="0.2" />
<TextView
android:id="@+id/tv_sexo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_row="1"
android:layout_column="1"
android:layout_columnWeight="1"
android:layout_marginStart="8dp"
android:text="@string/et_modificar_sexo"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@+id/tv_domicilio"
app:layout_constraintTop_toBottomOf="@+id/tv_apellido_paterno"
app:layout_constraintVertical_bias="0.2" />
<TextView
android:id="@+id/tv_id_paciente"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="24dp"
android:text="Id"
app:layout_constraintBottom_toTopOf="@+id/tv_nombre"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.384" />
<ImageView
android:id="@+id/iv_modificar_paciente"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:layout_marginTop="10dp"
android:layout_row="2"
android:layout_column="1"
android:layout_columnWeight="1"
android:layout_row="2"
android:src="@drawable/update"/>
android:layout_marginTop="60dp"
android:layout_marginEnd="36dp"
android:src="@drawable/update"
app:layout_constraintEnd_toStartOf="@+id/iv_eliminar_paciente"
app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintStart_toEndOf="@+id/tv_edad"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/iv_eliminar_paciente"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:layout_marginTop="10dp"
android:layout_row="2"
android:layout_column="2"
android:layout_columnWeight="1"
android:layout_row="2"
android:src="@drawable/delete"/>
android:layout_marginTop="60dp"
android:layout_marginEnd="16dp"
android:src="@drawable/delete"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</GridLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.cardview.widget.CardView>
</LinearLayout>
</androidx.cardview.widget.CardView>

View File

@ -2,13 +2,14 @@
<string name="app_name">MedicalHealth</string>
<!-- Modificar Activity -->
<string name="tv_modificar_titulo">Modificar Paciente</string>
<string name="et_modificar_edad">Edad:</string>
<string name="et_modificar_sexo">Sexo:</string>
<string name="et_modificar_edad">Edad</string>
<string name="et_modificar_sexo">Sexo</string>
<string name="ht_nombre">Nombre</string>
<string name="ht_apellido_paterno">Apellido Paterno</string>
<string name="ht_apellido_materno">Apellido Materno</string>
<string name="ht_domicilio">Domicilio</string>
<string name="bt_modificar">Modificar</string>
<string name="tv_id_paciente">Id</string>
<string name="tv_agregar_paciente_titulo">Agrega un paciente</string>
<string name="bt_agregar">Confirmar</string>
<string name="bt_cancelar">Cancelar</string>