Контекст асинхронной задачи SQLite

#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 .