2

アプリケーションでコンテンツプロバイダーを初期化することは可能ですか?

ユーザーとサーバーの組み合わせごとにデータベースを作成する必要があり、コンテンツプロバイダーのoncreateメソッドのログイン情報を使用してデータベースを作成しているためです。

4

2 に答える 2

1

あなたがやろうとしているように聞こえることに基づいて、ContentProviderのデータベースアクセスをコンテキスト化することを検討することができます(これは、@ Gary B.が何を取得していたかを説明する別の方法かもしれません):

コンテンツプロバイダーを初期化するときに、ユーザーとサーバーの組み合わせのリストを格納するデータベースを作成します。次に、ユーザーがアプリケーションにログインしたら、対応するデータベースを作成し、ContentProviderのマスターリストを更新します。

ContentProviderのパブリック操作で、アクティブな(または要求されている)ユーザー/サーバーの組み合わせを判別してから、インストール時に作成したマスターデータベースで適切なデータベースを検索します。次に、ユーザー/サーバー固有の情報を読み取り、これを呼び出し元に返すことができます。

または、これをすべて1つのデータベース内に実装することもできますが、特定のアプローチを推奨するための要件について十分に理解していません...

于 2011-08-31T21:29:05.483 に答える
0

SQLiteOpenHelperは通常、データベースの作成を行う場所です。より具体的には、onCreate(SQLiteDatabase)メソッド。アプリのインストール時にデータベースを作成します。

于 2011-08-31T08:34:07.103 に答える