これを行う最もクリーンな方法は、すべての db ファイルに対して1 つの一意の ContentProviderを用意することだと思います。
データベースの選択に合わせてURIを作成する必要があります。
例えば :content://com.your.package/a_db_file/something/things/5
次に、ContentProvider を実装するときに、Uri を解析してa_db_file
セグメントを取得し、対応する db ファイルを開き、残りのセグメントに従って必要な作業を行います。
のようなメソッドが必要になるかもしれませんgetCorrectDb(String a_db_file)
。このメソッド内で、必要な db ファイルに適切に一致するsqlLiteOpenHelperを正しく呼び出す必要があります。
UriMatcher もご覧ください。役に立つかもしれません。:)
最後に、次のようなものが必要です。
@Override
public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) {
// TODO : Parse uri to get a_db_file string.
SQLiteDatabase database = getCorrectDb(a_db_file);
// TODO : get cursor from db according to other segments of uri.
return cursor.
}