私のアプリケーションには、 と の 2 つのデータベース テーブルがProductsありShoppingCardます。だから私は と を作成しましProductContentProviderたShoppingCardContentProvider。それぞれのメソッドで、 の子であるプライベート クラスをContentProvider呼び出します。onCreate()SQLiteOpenHelper
私の観点からは、両方のコンテンツ プロバイダーを担当
DATABASE_VERSIONする個別の ConfigBeanにグローバルな静的変数を作成します。したがって、更新すると、すべてのテーブルが更新されます。 =>それは機能しません。単に onUpdate イベントが発生することはありません。各コンテンツ プロバイダでa を指定している
DATABASE_VERSIONが、各コンテンツ プロバイダでバージョン番号が異なる
場合 => 機能しません。また、私の観点からは、パラメータ inSQLiteOpenHelperが not と呼ばれるため、意味がありDATABASE_VERSIONませんTABLE_VERSION。つまり、すべてのonUpgradeリスナーでイベントを更新/スローしない限り、テーブルを更新することはできません。各コンテンツ プロバイダでを指定するが
DATABASE_VERSION、各コンテンツ プロバイダのバージョン番号が等しい場合。
=>それはうまくいきます。
質問:
アップグレードをグローバルに処理するために public static 変数を外部に作成できないのはなぜですかDATABASE_VERSION、それとも私のアーキテクチャで完全に間違った道を進んでいるのですか?