#android #sqlite #android-asynctask #android-context
#Android #sqlite #android-asynctask #android-контекст
Вопрос:
Я создаю приложение, которое получает данные webservice
, вставляет их в базу данных и отображает данные в tablelayout
.
Итак, что я хочу сделать, так это через X промежутков времени ОБНОВИТЬ таблицу содержимым webservice
.
Я могу сделать это с onResume
помощью метода, но это не то, что я хочу.
Я читал о asynctask
том, что задача использования webservice
и вставки данных в sqlite может быть во втором потоке.
В методе doInBackground
я запускаю webservice
и вставляю информацию в sqlite, а в onPostExecute
я динамически помещаю информацию в таблицу.
Моя проблема в том, что когда я инициализирую базу данных для ее чтения, я помещаю:
UsuariosSQLiteHelper usdbh = new UsuariosSQLiteHelper(this, "DBIncidentes", null, 1);
и в ЭТОМ есть проблема с контекстом.
Это также произошло в части обновления данных в таблице (в onPostExecute), потому что все время, когда я ставлю ЭТО как создание textview, возникает проблема с контекстом.
Я в основном знаю о контексте, я читал, что мне нужно создать конструктор asynctask
класса и инициализировать контекст, и я могу изменить ЭТО для контекста конструктора.
Я немного запутался в этой части, кто-нибудь может мне помочь?
Ответ №1:
В этом случае this
относится к вашей AsyncTask, а не к вашей активности. Вместо этого вам нужно использовать ActivityName.this
.