0

我在我的应用程序中使用 SQLite 数据库。我想删除/删除数据库,但无法这样做。我检查了数据库的位置,它存在于 /data/data/org.secure.sms/databases 但是什么时候我试图删除它,它没有成功。请帮助我。这是代码:

public static void DeleteDatabase(Context context)
{
    try
    {

    String filePath = context.getFilesDir()+ File.separator + "contactsManager";
    String filePath1 = context.getFilesDir()+ File.separator + "database";
    String filePath2 = context.getFilesDir()+ File.separator + "databases";

    context.deleteDatabase(filePath);
    context.deleteDatabase(filePath1);
    context.deleteDatabase(filePath2);

    File file = new File(filePath);
    File file1 = new File( filePath1 );

context.deleteFile(file.getName());
context.deleteFile(file1.getName());
    }
    catch(Exception e)
    {
        Toast.makeText(context,"Exception in DeleteDatabase",Toast.LENGTH_SHORT).show();
    }

}

请帮助我。在此先感谢。

4

3 回答 3

2

我使用它来删除我的数据库,该数据库来自扩展 SQLiteOpenHelper 的自定义类。

private final static String DATABASE_NAME = "pain.db";

private static final String DB_PATH = "/data/data/YOUR.PACKAGE.NAME/databases/" + DATABASE_NAME;


@Override
    public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) {

        Log.d("DATABASE UPDATED", "DATABASE UPDATED");

        try {
            File file = new File(DB_PATH);
            file.delete();
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }
于 2012-10-16T10:03:23.763 回答
1

对于删除数据库,这是代码:

context.deleteDatabase(DATABASE_NAME);

在您的代码中,您提供了完整的路径。

于 2012-10-16T10:01:44.640 回答
0

你错过了file Extension!!试试下面:

String filePath = context.getFilesDir()+ File.separator + "yourDataBaseName.db"; 
于 2012-10-16T10:16:28.203 回答