2015-10-28 3 views
0

Я пишу приложение для Android. Приложение может получать Push-уведомления из Parse, и я смог принять уведомление из Parse и поместить его в SQLiteDatabase. У меня есть фрагмент, который при выборе из навигационного ящика считывает значения из базы данных и отображает их с помощью специального адаптера. Здесь мне нужна помощь.Обновление фрагмента при добавлении нового элемента в базу данных

Если у пользователя есть выбранная вкладка «Уведомления», и получено новое уведомление Push, уведомление помещается в базу данных, но не отображается до тех пор, пока пользователь не перейдет от вкладки «Уведомления» и обратно на вкладку «Уведомления». Я в порядке с этим, но я хотел бы, чтобы фрагмент уведомлений немедленно обновлялся после приема Push. Есть ли способ установить слушателя в базе данных для реализации этого поведения?

Спасибо за любые ответы - я могу вставить код, если это необходимо.

ответ

0

Я считаю, что Loader может быть тем, что вы ищете. This Курс Udacity помог мне понять, как использовать Loaders.

С помощью Loader/LoaderManager метод onLoadFinished вызывается в вашем фрагменте/активности при обновлении базы данных. Увидев, что вы используете SQLite DB, вы можете использовать CursorLoader, который будет передавать курсор в onLoadFinished, а затем вы можете делать с ним все, что хотите, например отправить его в адаптер для отображения новых данных.

+0

Это звучит как отличная концепция! Я попытаюсь его реализовать, а затем отправлю обратно с моим решением. – Datz

+0

Помог ли погрузчик? Если нет, что вы в конечном итоге использовали для решения этой проблемы? – Corclark

+0

Я занимаюсь реализацией загрузчика ... используя этот учебник: http://www.phloxblog.in/android-custom-loader-load-data-sqlite-database-android-version-1-6 /#.VkpFeiCrTVM У меня возникают проблемы с методом onCreateLoader. Android Studio не распознает мой SQLiteTestDataLoader как законный загрузчик. Любая помощь здесь? – Datz

Смежные вопросы