如何在安卓应用中删除数据库

6

如何从应用程序中删除数据库?

4个回答

9

3
File dbFile = getDatabasePath("your_db_file_name");
boolean deleted = dbFile.delete();

如果您的手机没有被root,且您的数据库位于应用程序文件夹(data/data)内部,我怀疑它是否可以被删除。 - DeRagan
您可以在创建它的应用程序中删除它。 - plugmind
我已经尝试在我的数据库上使用该方法,但它拒绝被删除。我不使用getDatabasePath(),因为我在SD卡上创建了数据库,但是File.delete()始终返回false。除了close()之外,我是否需要调用数据库本身的其他内容以允许删除文件? - Teknogrebo
1
请查看SQLiteDatabase#deleteDatabase并注意它还删除与db相关的元数据文件:http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/4.2.2_r1/android/database/sqlite/SQLiteDatabase.java#SQLiteDatabase.deleteDatabase%28java.io.File%29 - user697495

1

这篇文章可能有些旧了,但我认为如果当时没有这个功能的话,它仍然值得添加。我使用Context。例如,在MainActivity中:

this.deleteDatabase("mydata.db");

或者当您在其他地方有上下文句柄时。

context.deleteDatabase("mydata.db");

0
你需要删除实际的数据库文件吗?还是仅仅删除表就足够了?我想最终结果是一样的,而且删除表可能更容易些。

我想要删除实际的数据库文件。 - Amit Thaper

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接