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

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

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

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

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

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

На телефоне highscreen 3 на всех активити происходит быстрый самовозврат к главной активити - Программирование Android
Сделал меню в виде ListView. При клике на меню запускаются активити. На эмуляторе работает, на телефоне моем LG все работает. На телефоне...

Как вызвать метод в активити классе из обычного не активити класса? - Программирование Android
Есть активити в котором вводятся логин и пароль. При нажатии кнопки "войти" в отдельном классе "сокетсервер"(+в отдельном потоке)...

Вызов новой активити не из класса активити - Программирование Android
Есть 4 класса: 1) WelcomeActivity; 2) MainActivity; 3) PopUpActivity; 4) Client. Программа работает с сервером и получает...

Изменение параметров активити из другого активити - Программирование Android
Как сделать так чтобы из первого активити поменять final ImageView img=(ImageView)findViewById(R.id.image1); ...

Отображение активити поверх другого активити - Программирование Android
Ребят подскажите пожалуйста как такое сделать. Есть активити с картой, по нажатию кнопки настройки, нужно открыть активити с настройками,...

AsyncTask - Программирование Android
Привет. Знаю, что в AsyncTask doInBackground() обращатся к компонентам UI нельзя. Когда я пытаюсь обновить вывод (в EditText) в...

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

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

AsyncTask - Программирование Android
Использую AsyncTasc class MyT extends AsyncTask<Void, Void, Void> { @Override protected Void doInBackground(Void......

AsyncTask и get() - Программирование Android
Создаю асинхронный процесс, где в onPreExecute() запускаю анимированный ProgressDialog. После выполнения задачи нужно выполнить действия....

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


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

Или воспользуйтесь поиском по форуму:
4
Yandex
Объявления
21.08.2014, 00:53
Ответ Создать тему
Опции темы

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