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

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

Войти
Регистрация
Восстановить пароль
 
 
NEvOl
19 / 18 / 0
Регистрация: 13.08.2012
Сообщений: 726
#1

Вызов метода перед завершением работы приложения - Программирование Android

11.03.2015, 20:36. Просмотров 625. Ответов 17
Метки нет (Все метки)

Вопрос такой, есть ли какой-нибудь метод, который можно перегрузить и который будет вызываться перед закрытием программы ? (например для сохранения информации о состоянии приложения в файл и т.п.)
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.03.2015, 20:36
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вызов метода перед завершением работы приложения (Программирование Android):

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

Вызов метода в onCreate() - Программирование Android
Здравствуйте.Пытаюсь загружать сохраненные данные при старте приложения и сохранять при выходе с помощью Preferences. Добавлял написанные...

Вызов java метода из native - Программирование Android
Привет, чтот не пойму зачем у меня ошибка происходит... Значит что хочу и что происходит. Есть активити с TextView и кнопкой. В...

Вызов метода из другого класса - Программирование Android
Не могу разобраться, почему вылетает приложение, когда пытаюсь задать текст для TextView в MainActivity из другого класса. Подскажите...

Вызов метода из класса в таймере - Программирование Android
Не могу получить титул веб страницы в таймере (ошибка). Пример: public class Main_Web extends WebView { String texst =...

Вызов метода из другого Activity - Программирование Android
Здраствуйте. Помогите,пожалуйста, разобраться с несколькими вопросами: 1) Правильно ли, что "Настройки" я выделил в отдельный Activity ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
rouze
0 / 0 / 0
Регистрация: 02.03.2015
Сообщений: 7
11.03.2015, 20:44 #2
Используй onStop(); или onDestroy();
А лучше изучи Activity LifeCycle (жизненный цикл Activity), там ответ на свой вопрос и найдешь.
Pablito
2473 / 1918 / 595
Регистрация: 12.05.2014
Сообщений: 6,742
Завершенные тесты: 1
11.03.2015, 20:46 #3
onStop() ?
NEvOl
19 / 18 / 0
Регистрация: 13.08.2012
Сообщений: 726
11.03.2015, 20:49  [ТС] #4
onStop() я так понимаю у каждого активити есть, если мне нужно что бы вызвался 1 метод и неизвестно на каком активити будет остановлена работа, мне нужно у каждого класса активити перегружать onStop() вызовом этого метода ?
Pablito
2473 / 1918 / 595
Регистрация: 12.05.2014
Сообщений: 6,742
Завершенные тесты: 1
11.03.2015, 21:14 #5
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Я понимаю так - в тех активити, где надо что-то сохранять - делаем это в onStop().

Например избранное. Работа с ним ведь будет идти в какой-то одной активити, вот когда она будет закрываться и сохраняемся.

http://developer.android.com/trainin...ping.html#Stop
Although the onPause() method is called before onStop(), you should use onStop() to perform larger, more CPU intensive shut-down operations, such as writing information to a database.
Vladimirys
307 / 204 / 25
Регистрация: 16.01.2010
Сообщений: 585
11.03.2015, 23:46 #6
Только не забываем что метод on Stop() может быть и не вызван. Так что сильно на него не надейтесь.
Pablito
2473 / 1918 / 595
Регистрация: 12.05.2014
Сообщений: 6,742
Завершенные тесты: 1
12.03.2015, 09:33 #7
Цитата Сообщение от Vladimirys Посмотреть сообщение
Только не забываем что метод on Stop() может быть и не вызван.
а можно линк где это написано?

Не по теме:

я не считаю мой ответ лучшим в теме и попросил модераторов снять пометку еще вчера

FeonoR
11 / 0 / 1
Регистрация: 22.03.2012
Сообщений: 27
12.03.2015, 15:05 #8
Цитата Сообщение от Паблито Посмотреть сообщение
а можно линк где это написано?
http://developer.android.com/trainin...cle/index.html
Pablito
2473 / 1918 / 595
Регистрация: 12.05.2014
Сообщений: 6,742
Завершенные тесты: 1
12.03.2015, 15:15 #9
Цитата Сообщение от FeonoR Посмотреть сообщение
http://developer.android.com/trainin...cle/index.html
конкретнее
Spelcrawler
526 / 496 / 111
Регистрация: 12.03.2014
Сообщений: 1,649
Завершенные тесты: 1
12.03.2015, 15:24 #10
Насколько помню, там как раз написано, что все эти методы вызываются, но на деле, опять же насколько помню, onPause и onDestroy могут и не вызываться, а вот onStop вызывается всегда. Но могу и ошибаться.
FeonoR
11 / 0 / 1
Регистрация: 22.03.2012
Сообщений: 27
12.03.2015, 15:35 #11
Паблито, вот точнее и даже по русски http://doc.artofweb.ru/doc/Основы_Android
Конкретно вот тут
Обратите внимание, после метода onPause() и onStop() система может просто завершить ваш процесс (process killed) и методы onStop() и onDestroy() не будут вызваны. Это вполне обычная ситуация, поэтому с самого начала разработки вашего приложения для Google Android (андроид) вы должны учитывать возможность возникновения такого события.
Pablito
2473 / 1918 / 595
Регистрация: 12.05.2014
Сообщений: 6,742
Завершенные тесты: 1
12.03.2015, 15:42 #12
FeonoR,
1. ты мне дал ссылку на developer.android.com, причем ту же самую что я привел чуть выше днем раньше
2. только я вижу в приведенном тобой тексте логическое противоречие ?
Обратите внимание, после метода onPause() и onStop() система может просто завершить ваш процесс (process killed) и методы onStop() и onDestroy() не будут вызваны
я и не такой бред читаю каждый день
Vladimirys
307 / 204 / 25
Регистрация: 16.01.2010
Сообщений: 585
12.03.2015, 15:45 #13
Цитата Сообщение от Паблито Посмотреть сообщение
а можно линк где это написано?
Линка нет, это из книги Android 4 для профессионалов (Сатия Коматинени, Дэйв Маклин) (ISBN 978-5-8459-1801-7)
страница 64, 2 - ой абзац, последнее предложение.
FeonoR
11 / 0 / 1
Регистрация: 22.03.2012
Сообщений: 27
12.03.2015, 15:57 #14
Паблито, ок, не спорю криво текст написан, но выше текста есть блок схема, в которой наглядно показано, что приложение может умереть и после onPause и так же после onStop, ну не логично ли что в первом случае до стопа не дойдет?
Pablito
2473 / 1918 / 595
Регистрация: 12.05.2014
Сообщений: 6,742
Завершенные тесты: 1
12.03.2015, 15:59 #15
Странно это все.
На всех англоязычных ресурсах пишут что начиная с API 14 метод onStop() гарантированно вызывается.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.03.2015, 15:59
Привет! Вот еще темы с ответами:

Вызов метода при прокрутке activity - Программирование Android
Как обработать событие когда activity прокрутили в самый низ что бы вызвать какой нибудь метод? Например как новости в ВК при прокрутке...

Вызов нестатического метода из другого класса - Программирование Android
Здравствуйте. Подскажите, как можно вызвать нестатистический метод из другого класса. 1.Этот другой класс нельзя наследовать тем...

Вызов другого приложения из текущего - Программирование Android
Как вызвать другое приложение при нажатии той же кнопки? Читал, что нужна уникальная ссылка, а вот какая и где её взять.... Буду благодарен...

Какие преимущества у приложения на Android перед Web приложением - Программирование Android
Какие преимущества у приложения на Android перед Web приложением? Спасибо за внимание!


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

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

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