android - 应用程序更新时删除数据库

标签 android sqlite

我已经在 Assets 中预加载了 sqlite 数据库,该数据库在应用程序首次安装后复制到默认数据库位置。我想在每次应用程序更新时执行此过程。 我不需要保留现有数据库中的任何用户数据。

应用程序更新时如何删除旧的数据库文件?

最佳答案

这实际上是两个问题:

  • 如何在应用更新时执行某些操作

您可以在共享首选项中保存带有最新版本代码的变量。每次启动应用程序后,您都可以使用保存的代码检查当前的代码。如果它们不匹配,则表明这是一个更新,您需要执行一些代码。

  • 如何删除数据库

如果数据库关闭,您只需删除该文件即可。使用Context.getDatabasePath(String)查找文件的位置,然后 File.delete()用于删除它。确保没有进程正在访问数据库文件。如果是这样,您可能需要使用 File.deleteOnExit()并强制重新启动应用程序。

关于android - 应用程序更新时删除数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31803533/

相关文章:

java - android apk 中的错误 xml

android - 如何在代码中更改操作栏标题颜色

.net - System.Data.SQLite.dll - 哪个版本以及如何编译?

javascript - 使用 sql.js 在 HTML 页面中显示 SQLite .db

java - 尽管我将 jar 文件添加到类路径 (Eclipse),但为什么与 SQLite 的连接失败?

sqlite - System.Data.SQLite 和 SubSonic 3 : Works great in VS2008, 但不在 VS2010 中

java - 奥托事件总线 : Event fired multiple times

android - 使用viewpager在坐标布局中滚动滞后

c# - ORMLite 下的 SQLite 不允许在事务完成后执行任何操作

android - 如何在 Android 应用或 lib 项目的 circleci 上设置 NDK?