Мне было интересно: я пытаюсь сделать приложение в виде списка, отображая данные из базы данных.
Вот конкретная вещь: я хочу, чтобы на событии, которое изменило базу данных, список автоматически обновляется, как будто в базе данных есть "слушатель", который... хорошо автоматически загружает список.
Из того, что я читал, я должен использовать loadManager, курсор, фрагмент (чтобы я мог использовать loadManager для предыдущих версий 3.0)... но поскольку я новичок, мне это трудно понять.
Мне было интересно, может ли кто-нибудь просто попытаться объяснить мне, как использовать эти инструменты вместе (я не прошу код, просто объяснение :))
Благодаря !
EDIT: Хорошо, поскольку я новичок, и я очень потерян, мне нужно больше объяснений.
Различные шаги: 1) Activity создайте listView, пользовательский CursorAdapter и курсор на onCreate(). Затем, продолжая onCreate, он загружает курсор стандартным запросом на объект SQLiteDatabase. Затем мы воздействуем на курсор на адаптер и адаптер на listView.
2) Когда приходит событие вставки, я использую функцию вставки SQLiteDatabase, а затем получаю результат запроса на курсор и передаю его в CursorAdapter из списка (будет ли он автоматически обновлять список?)
3) Для моего customAdapter хорошо... Чем больше я читаю источники, примеры и учебники, тем больше теряюсь. Просто понял, что мне нужно переопределить bindView() и newView(), я действительно не получил их целей, а также способ создания большого количества типов данных для моего адаптера...
Я чувствую, что я не очень умный, но я действительно пытался, и я все еще теряюсь :(
Если вы используете 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, каждый раз, когда данные в курсоре обновляются, список должен обновляться.