У меня есть собственный класс адаптера, который инкапсулирует базу данных SQLiteDatabase. Адаптер управляет подключением БД:
public AutoDBAdapter(final Context context){
this.context=context;
checkDatabase();
try{
openDB();
}catch(Exception e){
e.printStackTrace();
}
checkDatabase()
метод проверяет, существует ли БД, и при необходимости копирует ее из активов.
private void openDB() throws SQLException{
if(db==null)
db=SQLiteDatabase.openDatabase(dbFileName, null, SQLiteDatabase.OPEN_READWRITE);
}
Я создаю класс AutoDBAdapter внутри своей деятельности.
Я использовал этот подход, потому что мне нужно, чтобы моя БД была доступна из нескольких действий. Я знаю, что это нехорошо.
Мой вопрос: когда мне закрывать соединение с БД?
Любые предложения будут полезны. Спасибо.