【问题标题】:How to delete database in Android app如何在 Android 应用程序中删除数据库
【发布时间】:2017-07-21 18:42:22
【问题描述】:

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

【问题讨论】:

    标签: android database sqlite


    【解决方案1】:

    您是否检查了 Android 中可用的 deleteDatabase() 方法?

    【讨论】:

      【解决方案2】:
      File dbFile = getDatabasePath("your_db_file_name");
      boolean deleted = dbFile.delete();
      

      【讨论】:

      • 如果你的手机没有root并且你的数据库在你的应用程序文件夹(数据/数据)中,我怀疑这是否可以删除它。
      • 您可以在创建它的应用程序中删除它。
      • 我已经在我的数据库上尝试过这种方法,但它拒绝被删除。我在 sd 卡上创建数据库时不使用 getDatabasePath(),但 File.delete() 总是返回 false。除了 close() 之外,我还需要在数据库本身上调用什么来允许删除文件吗?
      • 不要简单地删除文件。查看 SQLiteDatabase#deleteDatabase 并注意它如何删除与数据库关联的元数据文件:grepcode.com/file/repository.grepcode.com/java/ext/…
      【解决方案3】:

      旧帖子,但我认为值得添加此功能,以防当时此功能不可用。我使用上下文。例如,当你在 MainActivity

      this.deleteDatabase("mydata.db");
      

      或者当你在别处有上下文句柄时

      context.deleteDatabase("mydata.db");
      

      【讨论】:

        【解决方案4】:

        您需要删除实际的 db 文件还是仅仅 DROP 表就足够了?我想最终结果是一样的,删除表格可能会更容易。

        【讨论】:

        • 我想删除实际的db文件
        猜你喜欢
        • 2019-05-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-01-10
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多