我在我的应用程序中使用SQLite数据库。我想删除/删除数据库但是无法这样做。我检查了数据库的位置,它出现在/data/data/org.secure.sms/数据库,但当我试图删除它,它没有成功。请帮助我。 这是代码:
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();
}
}
请帮帮我。谢谢。
答案 0 :(得分: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();
}
}
答案 1 :(得分:1)
为了删除数据库,这个是代码:
context.deleteDatabase(DATABASE_NAME);
在您的代码中,您提供了完整的路径。
答案 2 :(得分:0)
你错过了file Extension
!!
请尝试以下:
String filePath = context.getFilesDir()+ File.separator + "yourDataBaseName.db";