Android обрабатывает статический объект базы данных - PullRequest
0 голосов
/ 22 февраля 2011

У меня есть собственный класс адаптера, который инкапсулирует базу данных 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 внутри своей деятельности. Я использовал этот подход, потому что мне нужно, чтобы моя БД была доступна из нескольких действий. Я знаю, что это нехорошо.

Мой вопрос: когда мне закрывать соединение с БД? Любые предложения будут полезны. Спасибо.

1 Ответ

1 голос
/ 22 февраля 2011

Если БД не используется, вам следует закрывать ее после каждой операции. Если вы собираетесь использовать его часто и хотите оставить его открытым, закройте его в методе onPause в Activity.

...