powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Android [игнор отключен] [закрыт для гостей] / Закрытие базы, курсора, хэлпера
3 сообщений из 3, страница 1 из 1
Закрытие базы, курсора, хэлпера
    #39029932
Dmitry Sukhovilin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго дня.
Не подскажите нужно ли закрывать все объекты в которых есть метод close() кадный раз при обращении к базе?

Вот такой "репозиторий" для работы сданными:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
public class ProfileRepository extends SQLiteOpenHelper {

   ***

  public void save(Profile profile) throws Exception {
        SQLiteDatabase db = getWritableDatabase();
        try {
            Object[] args = {1,2,3};
            db.execSQL("***", args);
        } finally {
            db.close();
        }
    }
}



Тут вроде все правильно. Закрыли курсор и закрыли базу.

Код: java
1.
2.
3.
4.
5.
6.
 ProfileRepository repository = new  ProfileRepository(this);
try{
 repository.save(profile);
}finally{
repository.close();
}



А вот тут сомнение, действительно ли необходимо закрывать наследника SQLiteOpenHelper ???


Код в SQLiteOpenHelper мутноват. Вроде как и нет необходимости для вызова close() т.е. база все равно закрывается.
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
public synchronized void close() {
        if (mIsInitializing) throw new IllegalStateException("Closed during initialization");

        if (mDatabase != null && mDatabase.isOpen()) {
            mDatabase.close();
            mDatabase = null;
        }
    }
...
Рейтинг: 0 / 0
Закрытие базы, курсора, хэлпера
    #39029990
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
можно не закрывать. главное убедись, что ты используешь один экземпляр хелпера на все приложение
...
Рейтинг: 0 / 0
Закрытие базы, курсора, хэлпера
    #39030091
Dmitry Sukhovilin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
chpasha можно не закрывать. главное убедись, что ты используешь один экземпляр хелпера на все приложение
А это идея! Композиция против наследования.
Репозиториев можно иметь много, а опэнхэлпер только один.
Спасибо.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Android [игнор отключен] [закрыт для гостей] / Закрытие базы, курсора, хэлпера
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]