SDカードにsqliteデータベースを作成しようとしています(ユーザーの内部ストレージを使い果たしたくありません)。私は OpenHelper パターンに精通しています:
public DatabaseFoo(Context context) {
OpenHelper openHelper = new OpenHelper(context);
mDb = openHelper.getWritableDatabase();
}
private static class OpenHelper extends SQLiteOpenHelper {
public OpenHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
...
したがって、SDカードで作成したい場合は、代わりに次を使用する必要があると思います:
public static SQLiteDatabase openOrCreateDatabase (String path,
SQLiteDatabase.CursorFactory factory);
しかし、「ファクトリ」引数は何であるべきで、どのファクトリを使用する必要がありますか?
また、アプリの使用中にユーザーがSDカードを取り外した場合にどうなるか少し心配です..
ありがとう