TALLER PRÁCTICO DE ANDROID STUDIO CON BASES
DE DATOS SQLite
USTED DEBE CREAR UNA APP EN ANDROID STUDIO, QUE AL DARLE CLICK A UN BOTÓN CREE UNA BASE DE DATOS
EN SQLITE Y DENTRO DE ELLA CREE UNA TABLA DE PACIENTES CON
LOS CAMPOS NECESARIOS, LUEGO OTRO BOTÓN QUE AL DARLE
CLICK INSERTE LOS DATOS DE 10 PACIENTES A LA TABLA, ESTOS
DATOS ESTÁN DENTRO DE UNA MATRIZ BIDIMENSIONAL LLAMADA
ODATOS DE LOS PACIENTES, LUEGO OTRO BOTÓN PARA MOSTRAR EL
CONTENIDO DE LA TABLA Y UN ULTIMO BOTON PARA SALIR DE LA APLICACION.
DESCRIPCIÓN: ES UNA APLICACIÓN DE ANDROID EN ANDROID STUDIO ÚLTIMA
VERSION, QUE PERMITA CREAR UNA BASE DE DATOS EN SQLITE, AÑADIR UNA
TABLA DE PACIENTES Y REALIZAR OPERACIONES DE INSERCIÓN Y VISUALIZACIÓN DE
DATOS, TENGA EN CUENTA LOS COMPONENTES COMO SE MUESTA EN LA FIG 1.0
Paso 1: Configuración del Proyecto
1. Crea un nuevo proyecto en Android Studio:
Selecciona "Nuevo Proyecto".
Elige "Actividad Vacía". FIG. 1.0
Configura el nombre del proyecto, el nombre del paquete y
selecciona Java como lenguaje de programación.
Haz clic en "Finalizar".
Paso 2: Diseño de la Interfaz de Usuario
Abre el archivo activity_main.xml y diseña la interfaz de usuario. Añade tres botones para crear la base de datos, insertar
datos y mostrar datos, y un TextView para mostrar los datos.
<?xml version="1.0" encoding="utf-8"?>
<[Link] xmlns:android="[Link]
xmlns:app="[Link]
xmlns:tools="[Link]
android:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<LinearLayout
android:layout_width="351dp"
android:layout_height="674dp"
android:orientation="vertical"
android:gravity="center"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent">
<Space
android:layout_width="329dp"
android:layout_height="32dp"
android:layout_margin="16dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/btnCreateDb"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Crear BDT"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Space
android:layout_width="329dp"
android:layout_height="32dp"
android:layout_margin="16dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/btnInsertData"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Insertar Datos"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Space
android:layout_width="329dp"
android:layout_height="32dp"
android:layout_margin="16dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/btnShowData"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Mostrar Datos"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Space
android:layout_width="329dp"
android:layout_height="32dp"
android:layout_margin="16dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/btnExit"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Salir"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ScrollView
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
<TextView
android:id="@+id/tvData"
android:layout_width="match_parent"
android:layout_height="146dp"
android:layout_marginTop="16dp"
android:text=""
android:textSize="16sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</ScrollView>
</LinearLayout>
</[Link]>
Paso 3: Creación de la Base de Datos y Tablas en SQLite
Crea una clase llamada DatabaseHelper que extienda SQLiteOpenHelper para gestionar la base de datos.
package [Link];
import [Link];
import [Link];
import [Link];
public class DatabaseHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "[Link]";
private static final int DATABASE_VERSION = 1;
public static final String TABLE_PACIENTES = "Pacientes";
public static final String COLUMN_ID = "_id";
public static final String COLUMN_NOMBRE = "nombre";
public static final String COLUMN_EDAD = "edad";
public static final String COLUMN_GENERO = "genero";
private static final String TABLE_CREATE =
"CREATE TABLE " + TABLE_PACIENTES + " (" +
COLUMN_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
COLUMN_NOMBRE + " TEXT, " +
COLUMN_EDAD + " INTEGER, " +
COLUMN_GENERO + " TEXT);";
public DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
[Link](TABLE_CREATE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
[Link]("DROP TABLE IF EXISTS " + TABLE_PACIENTES);
onCreate(db);
}
}
package [Link];
import [Link];
import [Link];
import [Link];
public class DatabaseHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "[Link]";
private static final int DATABASE_VERSION = 1;
public static final String TABLE_PACIENTES = "Pacientes";
public static final String COLUMN_ID = "_id";
public static final String COLUMN_NOMBRE = "nombre";
public static final String COLUMN_EDAD = "edad";
public static final String COLUMN_GENERO = "genero";
private static final String TABLE_CREATE =
"CREATE TABLE " + TABLE_PACIENTES + " (" +
COLUMN_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
COLUMN_NOMBRE + " TEXT, " +
COLUMN_EDAD + " INTEGER, " +
COLUMN_GENERO + " TEXT);";
public DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
[Link](TABLE_CREATE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
[Link]("DROP TABLE IF EXISTS " + TABLE_PACIENTES);
onCreate(db);
}
}
Paso 4: Lógica de la Actividad Principal
Implementa la lógica en [Link].
package [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
public class MainActivity extends AppCompatActivity {
private DatabaseHelper dbHelper;
private SQLiteDatabase db;
private String[][] oDatos = {
{"Juan Pérez", "30", "Masculino"},
{"María López", "25", "Femenino"},
{"Carlos Gómez", "40", "Masculino"},
{"Ana Martínez", "35", "Femenino"},
{"Luis Rodríguez", "50", "Masculino"},
{"Sofía Hernández", "28", "Femenino"},
{"Miguel Torres", "45", "Masculino"},
{"Laura Díaz", "32", "Femenino"},
{"David García", "38", "Masculino"},
{"Lucía Romero", "27", "Femenino"}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
[Link](savedInstanceState);
setContentView([Link].activity_main);
dbHelper = new DatabaseHelper(this);
Button btnCreateDb = findViewById([Link]);
Button btnInsertData = findViewById([Link]);
Button btnShowData = findViewById([Link]);
TextView tvData = findViewById([Link]);
[Link](new [Link]() {
@Override
public void onClick(View v) {
db = [Link]();
[Link]("Base de datos creada.");
}
});
[Link](new [Link]() {
@Override
public void onClick(View v) {
db = [Link]();
for (String[] paciente : oDatos) {
[Link]("INSERT INTO " + DatabaseHelper.TABLE_PACIENTES + " (" +
DatabaseHelper.COLUMN_NOMBRE + ", " +
DatabaseHelper.COLUMN_EDAD + ", " +
DatabaseHelper.COLUMN_GENERO + ") VALUES (?, ?, ?)",
new Object[]{paciente[0], [Link](paciente[1]), paciente[2]});
}
[Link]("Datos insertados.");
}
});
[Link](new [Link]() {
@Override
public void onClick(View v) {
db = [Link]();
Cursor cursor = [Link]("SELECT * FROM " + DatabaseHelper.TABLE_PACIENTES, null);
StringBuilder builder = new StringBuilder();
while ([Link]()) {
[Link]("ID: ").append([Link](0)).append("\n");
[Link]("Nombre: ").append([Link](1)).append("\n");
[Link]("Edad: ").append([Link](2)).append("\n");
[Link]("Género: ").append([Link](3)).append("\n\n");
}
[Link]();
[Link]([Link]());
}
});
}
}
Paso 5: Ejecuta la Aplicación
Con estos pasos, tu aplicación debería
estar lista para ejecutarse. La aplicación
debería permitir crear una base de datos, insertar datos de pacientes y mostrar los datos en pantalla.
Este ejemplo proporciona una estructura básica y funcional que puedes expandir añadiendo más campos,
mejorando la interfaz de usuario y gestionando mejor las transacciones de base de datos según sea necesario.