Funcionalidad descargar CSV (Actividad Consultar Pacientes)
This commit is contained in:
parent
eada363366
commit
8df8558f37
|
@ -2,6 +2,9 @@
|
|||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools">
|
||||
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
|
||||
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
|
||||
¿
|
||||
<application
|
||||
android:allowBackup="true"
|
||||
android:dataExtractionRules="@xml/data_extraction_rules"
|
||||
|
|
|
@ -1,10 +1,19 @@
|
|||
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 androidx.appcompat.app.AppCompatActivity
|
||||
import android.os.Bundle
|
||||
import android.os.Environment
|
||||
import android.widget.Toast
|
||||
import androidx.core.app.ActivityCompat
|
||||
import androidx.core.content.ContextCompat
|
||||
import com.terratenientes.medicalhealth.databinding.ActivityConsultarPacientesBinding
|
||||
import java.io.File
|
||||
import java.io.FileWriter
|
||||
|
||||
class ConsultarPacientesActivity : AppCompatActivity() {
|
||||
|
||||
|
@ -12,7 +21,7 @@ class ConsultarPacientesActivity : AppCompatActivity() {
|
|||
private lateinit var db: DoctorDataBaseHelper
|
||||
private lateinit var pacientesList: MutableList<Paciente>
|
||||
private var pacienteSeleccionado: Paciente? = null
|
||||
private lateinit var infoPaciente : Array<String>
|
||||
private val REQUEST_WRITE_EXTERNAL_STORAGE_PERMISSION = 1
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
|
@ -36,6 +45,9 @@ class ConsultarPacientesActivity : AppCompatActivity() {
|
|||
startActivity(intent)
|
||||
finish()
|
||||
}
|
||||
binding.btnDescargarCsv.setOnClickListener {
|
||||
exportarCSV(this@ConsultarPacientesActivity, pacientesList)
|
||||
}
|
||||
}
|
||||
|
||||
private fun cargarListaPacientes() {
|
||||
|
@ -64,8 +76,36 @@ class ConsultarPacientesActivity : AppCompatActivity() {
|
|||
return pacientes
|
||||
}
|
||||
|
||||
private fun guardarDatosPaciente(paciente : Paciente){
|
||||
infoPaciente = arrayOf(paciente.nombre.toString(), paciente.apellidoPaterno.toString(), paciente.apellidoMaterno.toString(), paciente.domicilio.toString(), paciente.edad.toString(), paciente.sexo.toString())
|
||||
fun exportarCSV(context : Context, pacientesList : MutableList<Paciente>) {
|
||||
//Pedir Permisos
|
||||
ActivityCompat.requestPermissions(this@ConsultarPacientesActivity, arrayOf(Manifest.permission.WRITE_EXTERNAL_STORAGE), REQUEST_WRITE_EXTERNAL_STORAGE_PERMISSION)
|
||||
// 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, "pacientes.csv")
|
||||
archivoCSV.createNewFile()
|
||||
|
||||
// Escribir los datos en el archivo CSV
|
||||
val writer = FileWriter(archivoCSV)
|
||||
for (paciente in pacientesList) {
|
||||
writer.append("${paciente.nombre},${paciente.apellidoPaterno},${paciente.apellidoMaterno},${paciente.edad},${paciente.sexo}\n")
|
||||
}
|
||||
writer.flush()
|
||||
writer.close()
|
||||
Toast.makeText(this@ConsultarPacientesActivity,getString(R.string.res_csv),Toast.LENGTH_LONG).show()
|
||||
} catch (e: Exception) {
|
||||
e.printStackTrace()
|
||||
}
|
||||
}else{
|
||||
Toast.makeText(this@ConsultarPacientesActivity,getString(R.string.err_permisos_storage),Toast.LENGTH_LONG).show()
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -21,10 +21,20 @@
|
|||
<ListView
|
||||
android:id="@+id/lista_pacientes"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_height="550dp"
|
||||
android:layout_marginStart="5dp"
|
||||
android:layout_marginTop="10dp"
|
||||
android:layout_marginEnd="5dp"
|
||||
android:listSelector="@drawable/list_item_selected_background"/>
|
||||
|
||||
<Button
|
||||
android:id="@+id/btn_descargar_csv"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/btn_csv"
|
||||
android:layout_marginTop="35sp"
|
||||
android:layout_marginStart="20dp"
|
||||
android:layout_marginEnd="20dp"
|
||||
android:background="@drawable/radius_btn"/>
|
||||
|
||||
</LinearLayout>
|
|
@ -24,6 +24,9 @@
|
|||
|
||||
<!-- Consultar Pacientes Activity -->
|
||||
<string name="tv_titulo_consultar">Pacientes</string>
|
||||
<string name="btn_csv">Descargar</string>
|
||||
<string name="res_csv">Descarga completa</string>
|
||||
<string name="err_permisos_storage">Permisos denegados</string>
|
||||
<!--Registrar Doctor activity-->
|
||||
<string name="et_activity_registrar_titulo">Registrar</string>
|
||||
<string name="et_nombre_registrar">Nombre</string>
|
||||
|
|
Loading…
Reference in New Issue