我的学校项目有一个Android应用程序,它通过在SQLite数据库中的表中输入日期来跟踪它的运行时间,并且当它第一次运行时,有在数据库中应该是none,因此它会相应地起作用。在手机上进行调试(安装新手机)时,就会这样做。问题是在模拟器上运行时,它不是。第一次运行时没有时间条目可以发生所以我假设模拟器在运行应用程序之前必须保存当前状态而不是像新安装一样(我对android有点新,我的伙伴甚至更新了)。此外,我们使用git存储库将其安装在他们的计算机上以在模拟器上运行。无论如何我可以清除这些数据,并将其提交给git,这样当它们在他们的机器上运行时,它将在他们的机器上作为全新安装吗?
答案 0 :(得分:2)
当您在模拟器或设备上更新应用程序时,会保留其旧数据(如数据库)。这就是模拟器上发生的事情。
如果您想确保删除旧数据,请先在模拟器或设备中卸载您的应用,然后重新安装。
数据库文件不会通过git传输,除非您专门添加代码,例如将数据库文件从资产复制到设备。
更详细的阅读:When is SQLiteOpenHelper onCreate() / onUpgrade() run?