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

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

Войти
Регистрация
Восстановить пароль
 
werrt
4 / 4 / 1
Регистрация: 07.02.2008
Сообщений: 303
#1

Как использовать onDestroy() если есть несколько активити - Программирование Android

08.05.2017, 17:40. Просмотров 152. Ответов 7

Добрый день.
В приложении несколько активити. В главной есть метод onDestroy() в котором есть нужный код для завершения работы(удаление строки в БД). Но если вдруг приложение вылетит на другой активити он не стработает же? а данные для работы кода есть только в главной активти, как быть, чтобы код правильного выхода работал на любой активити?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.05.2017, 17:40
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как использовать onDestroy() если есть несколько активити (Программирование Android):

OnStop и onDestroy в активити - Программирование Android
Если внутри активити происходит утечка памяти то оно упадет с OutofMemory и при этом методы onStop и onDestroy вызваны не будут. А как...

Как узнать есть ли фронтальная камера на устройстве и если есть, то использовать ее? - Программирование Android
Собственно вопрос выше.

Как отловить остановку приложения, если не срабатывает onDestroy - Программирование Android
Иногда, например, если войти в меню последних запущенных приложений и нажать "закрыть все", приложение убивается без вызова onDestroy....

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

Несколько Listview в 1 активити - Программирование Android
Ребят, как подключить 2 списка listview в одном активити?

Что лучше использовать фрагмент или активити - Программирование Android
Ребят всем привет. Появился проект и возник некоторый вопрос, сейчас попробую описать. В проекте есть navigation view, и к нему нужно...

7
ExFau$t
360 / 346 / 68
Регистрация: 08.05.2012
Сообщений: 1,749
08.05.2017, 17:56 #2
Сделать эту деятельность во всех активностях слишком не очевидное решение?
0
werrt
4 / 4 / 1
Регистрация: 07.02.2008
Сообщений: 303
08.05.2017, 23:45  [ТС] #3
ExFau$t, но это как то не изящно
0
Vladimirys
309 / 206 / 25
Регистрация: 16.01.2010
Сообщений: 590
09.05.2017, 00:25 #4
Как это вы определили какая активность главная?
Опять же, метод onDestroy() может быть никогда не вызван.(Изучите лайфцикл)
Нет никаких главных активностей (есть стартовая). У каждой свои методы, каждая сама по себе - главная. Активность!=класс. Поэтому не может, одна активность, вызвать методы другой.
0
werrt
4 / 4 / 1
Регистрация: 07.02.2008
Сообщений: 303
09.05.2017, 00:38  [ТС] #5
Vladimirys, главная для меня та, которая основная(стартовая)
а как сделать чтоб какой либо метод гарантировано выполнялся.
0
Vladimirys
309 / 206 / 25
Регистрация: 16.01.2010
Сообщений: 590
09.05.2017, 00:42 #6
Вызвать.
Системными методами управлять может только система.
Вот ссылка
https://developer.android.com/guide/...lifecycle.html
И вот выдержка по русски

На практике вам чаще всего придется сталкиваться с методами onCreate(), onResume() и onPause(). При помощи onPause() вы сможете сохранить важную информацию в базе данных вашего приложения. Это последний безопасный метод, который будет вызываться перед тем, как система завершит работу приложения. Метод onDestroy() не обязательно будет вызываться, поэтому не полагайтесь на этот метод при реализации критическом логики.
2
demixdn
232 / 179 / 56
Регистрация: 31.10.2016
Сообщений: 406
09.05.2017, 11:31 #7
werrt, возможно вам поможет вариант со сроком действия этой строки. Пока приложение "живое" вы срок постоянно продлеваете, и работаете как вам нужно. Потом по каким то причинам приложение перестало функционировать (fatal error, kill process, exit) и вы в него входите снова - просто проверяете срок действия этой строки. Если истек, то ее удаляете и создаете новую (авторизация или что там у вас). И дальше работаете как раньше.
1
Pablito
2525 / 2004 / 624
Регистрация: 12.05.2014
Сообщений: 7,030
Завершенные тесты: 1
09.05.2017, 11:38 #8
пусть приложение удаляет эту магическую строку в базе ПРИ СТАРТЕ каждый раз
1
09.05.2017, 11:38
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.05.2017, 11:38
Привет! Вот еще темы с ответами:

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

Если поменять ориентацию экрана или SurfaceView перекроет другой активити, то приложение завершается аварийно - Программирование Android
Здравствуйте уважаемые программисты! Недавно начал изучать проигрывание видео под android. Получилось вывести видео на экран при помощи...

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

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


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

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