【问题标题】:Does it Create a new database in every time when you run the app?每次运行应用程序时它都会创建一个新数据库吗?
【发布时间】:2017-07-20 02:36:33
【问题描述】:

基于这些关于在 android 中创建与 SQLite 相关的数据库的教程。

https://www.youtube.com/watch?v=cp2rL3sAFmI
https://www.youtube.com/watch?v=p8TaTgr4uKM

我的问题是:
当您运行此应用程序时,它会创建一个新数据库并保存一些数据。但是,当您重新运行应用程序时,它会再次创建一个新数据库吗?之前保存的数据会怎样?他们会被删除吗?

今天我是安卓新手

谢谢!

【问题讨论】:

  • 请添加代码,认为没有人有兴趣观看整部 youtube 电影以了解您的问题。

标签: java android sqlite android-studio


【解决方案1】:

SQLiteOpenHelper 将根据您通过其构造函数传入的 version 编号调用不同的生命周期方法。它会比较你传入的上一个版本号。

SQLiteOpenHelper#onCreate 仅在指定位置没有可用的数据库时调用。。这是您创建表格的地方。

SQLiteOpenHelper#onUpgrade 仅在存在可用数据库且版本号高于先前版本号时才被调用。在这里,您将执行 SQL 操作以将数据库表更新为新模式的应有状态。大多数教程通常显示清除表格操作和手动调用onCreate()。如果这样做,那么每次升级时都会擦除整个数据库(如果增加版本号)。

SQLiteOpenHelper#onDowngrade 仅在存在可用数据库且版本号低于之前的版本号时才被调用。。与onUpgrade 类似,您可以在此处执行 SQL 操作以将表恢复到应有的状态。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-03-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多