Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Alexvp
107 / 71 / 8
Регистрация: 03.08.2014
Сообщений: 344
#1

Вынос AsyncTask в отдельное активити - Программирование Android

20.08.2014, 21:00. Просмотров 528. Ответов 3
Метки нет (Все метки)

Добрый день,
Никак не найду ответа вот на какой вопрос - можно ли запустить AsyncTask, которому не нужно после завершения обращаться к UI. Он заносит данные в таблицу базу данных. После запуска процесса требуется перейти в новую активити. Из первой, стартовой активити хотелось бы выйти с ее завершением. Как сделать, чтобы фоновый процесс остался жить? Или активити завершать после окончания этого фонового процесса?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.08.2014, 21:00     Вынос AsyncTask в отдельное активити
Посмотрите здесь:

Exception в AsyncTask - Программирование Android
Доброго всем. Проблема вот в чем: периодически во время выполнения одного из потоков в AsyncTask вылетает следующее: 04-21...

Работа с AsyncTask - Программирование Android
Попробовал использовать AsyncTask и возник вопрос. У меня есть несколько ф-й, которые парсят текстовые файлы и заполняют таблицы БД. ...

AsyncTask тормозит - Программирование Android
Подскажите пожалуйста, делалю загрузку данных с сервера через asyncTask и возвращаются результат, а дальше делаю обработку этих данных во...

Не работает AsyncTask - Программирование Android
Не работает AsyncTask , вот код: private void registerInBackground() { new AsyncTask() { @Override ...

AsyncTask+CheckBox - Программирование Android
Здравствуйте, интересует вопрос нужно в функцию AsyncTask послать несколько строк, в зависимости какие Чекбоксы чекнуты. Ну например: ...

AsyncTask и SQLite - Программирование Android
Здравствуйте! У меня в приложении есть БД SQLite, при нажатие на кнопку загрузки, приложение начинает в базу вносить записи. Структура...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
waycomm
2 / 2 / 1
Регистрация: 20.07.2014
Сообщений: 18
20.08.2014, 23:13     Вынос AsyncTask в отдельное активити #2
код в doInBackground выполняется в новом потоке, который остановится либо после принудительного завершения, либо после того, как выполнит всю работу. Закрыв Activity поток продолжит работу
Alexvp
107 / 71 / 8
Регистрация: 03.08.2014
Сообщений: 344
21.08.2014, 00:04  [ТС]     Вынос AsyncTask в отдельное активити #3
Увы, но проблема осталась. В фоновом процессе идет запись в базу данных результатов обработки. После закрытия активити, где был запущен фоновый процесс, получаю вылет с сообщением
Java
1
Caused by: java.lang.IllegalStateException: database not open
Причем, даже в случае просто перехода на новое акттивити без финиша предыдущего получаю это же сообщение.
К базе данных подключаюсь не в фоновом процессе, а в активити. Может быть в этом ошибка?
Пробовал подключить базу в onPreExecute(), но что-то запутался с конструктором
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.08.2014, 00:53     Вынос AsyncTask в отдельное активити
Еще ссылки по теме:

Отмена AsyncTask - Программирование Android
Привет. Есть такой код: @Override protected Void doInBackground(Void... params) { try { Interpret(Source.get()); }...

Запуск нескольких AsyncTask - Программирование Android
Есть ListView там чекбоксы, при нажатии на чекбох запускается поток.. AsyncTaskWASAQ task = new AsyncTaskWASAQ(); task.execute(); ...

AsyncTask и чтение XML - Программирование Android
Написал следущее: Но после нажатия на кнопку таск подвисает и через пару секунд приложение аварийно закрывается. ощибки из лога в...

Ожидание завершения AsyncTask - Программирование Android
Имеется класс "расширяющий" AsyncTask. Как я понимаю при создании объекта этого класса создается новый поток который выполняется...

Как остановить AsyncTask? - Программирование Android
Не ругайтесь на код:) с Asynctask работаю только несколько дней class MyTask extends AsyncTask<Void, Void, Void> { @Override...

Заполнение ListView в AsyncTask - Программирование Android
Нужно заполнить ListView картинками, которые скачиваются в AsyncTask с помощью Picasso. Картинки скачиваются нормально, ArrayList и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
waycomm
2 / 2 / 1
Регистрация: 20.07.2014
Сообщений: 18
21.08.2014, 00:53     Вынос AsyncTask в отдельное активити #4
Ну если, например, при скрытии этой Activity разрывается соединение с базой, то конечно будет исключение. И работать с БД можно(даже нужно) в отдельном потоке. Так что прям в методе doInBackgroung можно подключиться к БД и там же, по окончанию работы, закрывать соединение.
Yandex
Объявления
21.08.2014, 00:53     Вынос AsyncTask в отдельное активити
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru