Разбор JSON для Android и вставка в sqlite - PullRequest
0 голосов
/ 21 декабря 2011

Просто для понимания.

В настоящее время у меня есть asynctask, который работает так:

String doInBackground(Void... params)
//Downloads a JSON and returns it to the onPostExecute().

void onPostExecute(String response)
//Parses the JSON which has an array of stuff and insert into sqlite.
 Call changeCursosr and notifyDataSetChanged.

Это правильный способ справиться со вставкой и обновлением списка? В настоящее время я испытываю небольшое зависание, когда оно попадает в пост. я должен вместо этого разбирать и вставлять данные в doInBackground?

Ответы [ 2 ]

0 голосов
/ 21 декабря 2011

onPreExecute и onPostExecute не подходят для любых ресурсоемких задач.Обычно они зарезервированы для выполнения таких действий, как запуск и остановка ProgressDialog.

. Вы должны выполнять сетевые вызовы, а также вызовы базы данных внутри doInBackground в дополнение к обработке данных из этих ресурсов.

0 голосов
/ 21 декабря 2011

Из AsyncTask документы :

onPostExecute (Result), вызывается в потоке пользовательского интерфейса после завершения фоновых вычислений. Результат вычисления фона передается на этот шаг в качестве параметра.

Поскольку он вызывается в потоке пользовательского интерфейса, по сути, это процесс блокировки. Все тяжелые работы должны выполняться в doOnBackground.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...