Eliminar todos los registros de la tabla en SQLite con Android
-
Utilice el método
execSQL()
- Eliminar todas las filas o registros de la tabla en la base de datos SQLite con Android
En el sistema operativo Android, desarrollamos aplicaciones de Android para diferentes propósitos. Usamos la base de datos SQLite para almacenar los registros localmente en teléfonos Android.
La base de datos SQLite es una base de datos de código abierto en el sistema operativo Android que se utiliza para almacenar datos localmente en forma de texto sin formato. Podemos realizar las operaciones CRUD en la base de datos SQLite, por ejemplo, crear, leer, actualizar y eliminar el registro.
Este artículo analiza cómo podemos eliminar todos los registros de la base de datos SQLite suponiendo que los datos ya están almacenados en su interior.
Utilice el método execSQL()
Sintaxis del método execSQL()
:
db.execSQL(query)
Parámetro:
query |
Este parámetro toma la consulta SQL necesaria para eliminar el registro. |
Este método no devuelve nada; en su lugar, ejecuta la instrucción SQL dentro del parámetro proporcionado. Devuelve el error si la instrucción SQL es incorrecta.
Eliminar todas las filas o registros de la tabla en la base de datos SQLite con Android
En el sistema operativo Android, usamos la base de datos SQLite para almacenar, eliminar y actualizar registros en texto sin formato. En Android, desarrollamos la UI (interfaz de usuario) utilizando XML (Lenguaje de marcado extensible) creando la extensión filename.xml
.
Para que la funcionalidad de la interfaz de usuario funcione, creamos y conectamos el archivo Java con el archivo XML.
Vamos a crear un archivo XML de Android con el siguiente código.
Archivo XML (mainActivity.xml
):
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<Button
android:id="@+id/delete_all_rows"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="Delete All Rows"/>
</androidx.constraintlayout.widget.ConstraintLayout>
Explicación del archivo mainActivity.xml
:
En Android, creamos diseños usando widgets como Diseño lineal, Diseño relativo, Diseño de restricción, etc. En este ejemplo, usamos constraintLayout
para crear el diseño en el XML.
Este diseño le permite cambiar el tamaño y colocar de forma flexible el widget en un ViewGroup
. Este constraintLayout
está disponible en la API de Android versión 9 (Gingerbread) y superior.
Dentro de constraintLayout
, se utilizan dos propiedades, android:layout_width
y android:layout_height
, para establecer el ancho y la altura del diseño, respectivamente. El valor de ambas propiedades se establece en match_parent
, lo que muestra que el diseño principal (principal) toma el 100 por ciento del ancho y el alto disponibles de la pantalla.
Más tarde, necesitamos un botón para realizar la funcionalidad de eliminación. Necesitamos importar el Botón
dentro del diseño principal (principal), que es constraintLayout
.
Para el widget Botón
, usamos diferentes propiedades: el ancho y alto del diseño. El valor wrap_content
para ancho y alto muestra que el diseño Botón
toma el ancho igual que la longitud del texto escrito en el diseño Botón
.
El texto predeterminado en el widget Botón
es botón
, por lo que podemos reemplazarlo con nuestro texto, Eliminar todas las filas
, usando la propiedad android: texto
. Para cada widget dentro de constraintLayout
, debemos establecer la identificación única usando la propiedad android:id
.
Esta identificación diferencia entre diferentes widgets cuando se comunica con el archivo fuente de Java.
Ahora, cree un archivo java llamado mainActivity.java
para conectar la interfaz de usuario (archivo xml) a la funcionalidad conectando los widgets.
Archivo Java (mainActivity.java
):
package com.example.android;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
private Button deleteButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.mainActivity);
addListenerOnButton();
}
public void addListenerOnButton() {
deleteButton = (Button) findViewById(R.id.delete_all_rows);
deleteButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
SQLiteDatabase db = this.getWritableDatabase();
// change the TABLE_NAME here to your SQLite table
db.execSQL("delete from " + TABLE_NAME);
db.close();
Toast
.makeText(getApplicationContext(),
"All records are deleted in SQLite database successfully.", Toast.LENGTH_LONG)
.show();
}
});
}
}
Después de presionar el botón en la pantalla, el Toast muestra lo siguiente:
All records are deleted in SQLite database successfully.
Explicación del archivo mainActivity.java
:
El nombre del paquete com.example.android
muestra la identidad única de la aplicación. Seleccionamos el nombre del paquete al crear la aplicación al inicio.
Después de la creación, el nombre del paquete se muestra automáticamente en la parte superior de cada archivo fuente de Java. Luego tenemos cinco importaciones diferentes, cada una para un propósito diferente.
Siempre que usemos una clase integrada en la clase de usuario, debemos importarla antes de usarla. La palabra clave extiende
muestra la herencia de la clase AppCompatActivity
, que tiene un método onCreate()
para mostrar cuando se crea la actividad por primera vez.
Dentro del método onCreate()
, conectamos el archivo fuente de Java con el diseño utilizando el método setContentView()
. De manera similar, en Android, tenemos clases integradas para cada widget.
Para usar cualquier widget dentro del archivo fuente de Java, debemos importar el widget al principio. Para que el widget Button
escuche el detector de clics, debemos implementar su método setOnClickListener()
.
Dentro de este método, podemos escribir cualquier línea de código para realizar la funcionalidad una vez que se presiona el widget Botón
en la pantalla.
Como sabemos, tenemos que eliminar todos los registros de la base de datos SQLite. Entonces, necesitamos crear la instancia de la base de datos SQLite usando el nombre de clase (espacio) nombre de objeto SQLiteDatabase db
.
El SQLiteDatabase
tiene diferentes métodos, pero para eliminar los registros en la base de datos, usamos el método execSQL()
y pasamos la consulta SQL dentro de él. Necesitamos pasar la consulta "delete from "+ "TABLE_NAME"
para eliminar todos los registros.
El NOMBRE_TABLA
es el nombre de su tabla almacenada dentro de la base de datos SQLite. Una vez que no haya necesidad de realizar más consultas, debemos cerrar la base de datos utilizando el método db.close()
.
Si el código y la consulta están escritos correctamente, la aplicación muestra el widget Toast
con el mensaje Todos los registros se eliminaron en la base de datos SQLite con éxito
. De lo contrario, muestra un error en la consola.
Hi, I'm Junaid. I am a freelance software developer and a content writer. For the last 3 years, I have been working and coding with Python. Additionally, I have a huge interest in developing native and hybrid mobile applications.
LinkedIn