私のアプリケーションには、 と の 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
、それとも私のアーキテクチャで完全に間違った道を進んでいるのですか?