我的应用程序有两个数据库表:Products
和ShoppingCard
. 所以我创建了一个ProductContentProvider
and ShoppingCardContentProvider
。每个都ContentProvider
在其方法中调用onCreate()
一个私有类,该类是SQLiteOpenHelper
.
从我的角度来看,我会
DATABASE_VERSION
在一个单独的 ConfigBean中创建一个全局静态变量,该变量负责两个内容提供者。因此,如果我更新所有表都已更新。
=> 那行不通。只是永远不会触发 onUpdate 事件。如果您在每个内容提供者中指定 a
DATABASE_VERSION
,但在每个内容提供者中使用不同的版本号
=> 那不起作用。从我的角度来看,这也没有任何意义,因为 in 的参数SQLiteOpenHelper
被称为DATABASE_VERSION
notTABLE_VERSION
。因此,换句话说,如果不对所有onUpgrade侦听器更新/抛出事件,您将无法更新任何表。如果您在每个内容提供者中指定 a
DATABASE_VERSION
,但在每个内容提供者中使用相同的版本号。
=> 那行得通。
问题:
为什么你不能在DATABASE_VERSION
外部创建一个公共静态变量来处理全局升级,或者我的架构完全走错了路?