В моей книге «Привет, Android» рассказывается об использовании пользовательского помощника по БД, установке курсора и установке адаптера следующим образом:
Cursor cursor
CustomDatabaseHelper test = new CustomDatabaseHelper(this);
try {
cursor = getData();
showData(cursor);
} finally {
test.close();
}
При этом, однако, каждый раз, когда мне нужно обновить набор данных, мне нужно продолжать запускать этот блок кода (который становится немного трудным в onClick () для кнопки из-за недоступности «this».
Это лучший способ обновить набор данных, или я должен обратить внимание на удаление .close и выдачу adapter.notifyDataSetChanged ()? Если я делаю это, иногда я получаю силу, близкую к (и я не могу вспомнить в данный момент), но иногда это не может удалить должным образом - я думаю, что это может быть, потому что база данных в настоящее время открыта, и она пытается открыть снова.
Должны ли мы также объявлять переменные для Cursors, DatabaseHelpers и Adapter в классе (вне OnCreate), чтобы они были доступны для всех функций?
Я понимаю, что на данном этапе это просто плохое программирование, но я пытаюсь получить некоторые указания относительно того, как лучше всего это делать.