Я новичок в разработке Android и Java, поэтому несите меня, и, пожалуйста, дайте мне знать, если какая-либо моя фраза или что-то не так. Я искал много часов, и я столкнулся с таким количеством неизвестных терминов и методов реализации, которые могут или не могут работать, что я ушел, и бросил себя в тишину.Непрерывно извлекать данные из базы данных?
В настоящее время я разрабатываю тип фида для приложения для Android, и моя главная цель заключается в том, что я хочу, чтобы иметь возможность сбрасывать фид (аналогично приложению Gmail) и иметь недавно введенные данные в базы данных, загруженной на устройство и отображаемой на экране. Чтобы быть ясным, я хочу только извлекать данные, когда приложение открыто.
Вот какой-то фон в приложении. В основной деятельности находится внутренний класс FragmentPagerAdapter
, который контролирует 3 фрагмента в TabLayout
. Первая вкладка - это фид, второй - список контактов (которые я также хочу обновить так же, как и для фида), а третий - это просто материал профиля.
Что я сделал до сих пор является то, что у меня есть посеяны дб на бэкэнд сервере (Python/SQLAlchemy), и я создал AsyncTask
в обеих подающих и контактах фрагментов, GetS (с использованием HttpURLConnection
) все соответствующие данные и приносит им клиентскую сторону. Оттуда я извлекаю нужные данные из полученного JSON и отображаю его динамически сгенерированным TextViews
. Эта часть работает отлично.
Я попытался остановить/перезагрузить AsyncTask
, но документы говорят, что это не-go. Я пробовал notifyDataSetChange()
, но он также не работает. Также, для подтверждения, notifyDataSetChange()
автоматически обновляет фрагменты способом, который выполняет мою задачу? Я прочитал некоторые из документации по этому вопросу и рассмотрел многие темы здесь, но я не смог собрать четкий ответ для моей реализации, и я действительно смущен этим ...
Так может кто-то может направить мне, где можно узнать, как непрерывно извлекать данные из базы данных после того, как AsyncTask
уже запущен или запущен в данный момент? Или, по крайней мере, как это сделать, чтобы я мог искать более эффективно? Благодаря!
Из того, что я понимаю, осколок 'onResume()' будет вызываться только если деятельность, которая принимает фрагмент паузы, а затем возобновляется, так что я не уверен, что позволит пользователям вытащите фид (который сам является фрагментом) и обновите данные с сервера. Но я буду держать это предложение таймера в моем заднем кармане, спасибо за это! – jexx04
Оказывается, все, что я искал, было Swipe-to-Refresh (https://developer.android.com/training/swipe/add-swipe-interface.html). – jexx04