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