Android Использование разных инструментов

1

Мне было интересно: я пытаюсь сделать приложение в виде списка, отображая данные из базы данных.

Вот конкретная вещь: я хочу, чтобы на событии, которое изменило базу данных, список автоматически обновляется, как будто в базе данных есть "слушатель", который... хорошо автоматически загружает список.

Из того, что я читал, я должен использовать loadManager, курсор, фрагмент (чтобы я мог использовать loadManager для предыдущих версий 3.0)... но поскольку я новичок, мне это трудно понять.

Мне было интересно, может ли кто-нибудь просто попытаться объяснить мне, как использовать эти инструменты вместе (я не прошу код, просто объяснение :))

Благодаря !

EDIT: Хорошо, поскольку я новичок, и я очень потерян, мне нужно больше объяснений.

Различные шаги: 1) Activity создайте listView, пользовательский CursorAdapter и курсор на onCreate(). Затем, продолжая onCreate, он загружает курсор стандартным запросом на объект SQLiteDatabase. Затем мы воздействуем на курсор на адаптер и адаптер на listView.

2) Когда приходит событие вставки, я использую функцию вставки SQLiteDatabase, а затем получаю результат запроса на курсор и передаю его в CursorAdapter из списка (будет ли он автоматически обновлять список?)

3) Для моего customAdapter хорошо... Чем больше я читаю источники, примеры и учебники, тем больше теряюсь. Просто понял, что мне нужно переопределить bindView() и newView(), я действительно не получил их целей, а также способ создания большого количества типов данных для моего адаптера...

Я чувствую, что я не очень умный, но я действительно пытался, и я все еще теряюсь :(

Теги:
fragment
cursor
loader

1 ответ

0
Лучший ответ

Если вы используете CursorAdapter в ListView, это все сделано для вас! http://developer.android.com/reference/android/widget/CursorAdapter.html

Изменение: Извините, я должен объяснить больше. Я читал это быстро, и я думал, что у вас уже есть ListView, и я хочу, чтобы он обновлялся.

Когда вы получаете данные из базы данных, будь то через ContentResolver.query или SQLiteDatabase.query, или что-то еще, вы получите Cursor. Вы должны использовать это в CursorAdapter.

Вам необходимо подклассифицировать CursorAdapter и переопределить bindView для использования данных из курсора внутри ListView (поскольку он не знает, какие столбцы у вас есть, и какое поле отображает какой вид). Предполагая, что при создании CursorAdapter вы используете флаг FLAG_REGISTER_CONTENT_OBSERVER, каждый раз, когда данные в курсоре обновляются, список должен обновляться.

  • 0
    Да ... Почему я это пропустил? Большое спасибо.
  • 0
    Так что, если я получу его, я буду манипулировать базой данных с помощью курсора на моей активности из события, и у меня будет специальный курсор курсора, связанный с этим курсором, и я буду обновляться каждый раз, когда курсор обновляет базу данных, верно?
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню