Eliminar todas las tablas de la base de datos sqlite

He investigado mucho y no he podido encontrar un método adecuado para eliminar todas las tablas en una base de datos SQLite. Finalmente, hice un código para obtener todos los nombres de tablas de la base de datos yTraté de eliminar las tablas usando los nombres de tabla recuperados uno por uno. No funcionó tan bien.

Sugiérame un método para eliminar todas las tablas de la base de datos.

Este es el código que usé:

public void deleteall(){
    SQLiteDatabase db = this.getWritableDatabase();
    Cursor c = db.rawQuery("SELECT name FROM sqlite_master WHERE type='table'", null);
    do
    {
        db.delete(c.getString(0),null,null);
    }while (c.moveToNext());
}

funcióndeleteall() se llama al hacer clic en el botón cuyo código se proporciona a continuación:

public void ButtonClick(View view)
{
    String Button_text;
    Button_text = ((Button) view).getText().toString();

    if(Button_text.equals("Delete Database"))
    {
        DatabaseHelper a = new DatabaseHelper(this);
        a.deleteall();
        Toast.makeText(getApplicationContext(), "Database Deleted Succesfully!", Toast.LENGTH_SHORT).show();
    }}

Respuestas a la pregunta(4)

Su respuesta a la pregunta