#android
#Android
Вопрос:
я создал приложение. которое работает нормально. теперь я пытаюсь устранить проблему, из-за которой случайно мое приложение получает ошибку и останавливается, к сожалению, тогда как гарантировать, что приложение будет запущено из состояния, в котором оно остановлено. я пытаюсь убедиться, что состояние ошибки, например, если WhatsApp, facebook, skype получают ошибку, они начинаются именно с того состояния, в котором они получили исключение. я новичок в разработке Android, я много искал в Интернете по этой теме, к сожалению, я не могу найти точное решение. пожалуйста, нужна помощь в этом. спасибо
Комментарии:
1. Я не знаю точно, какие состояния вы имеете в виду, но есть несколько методов обратного вызова, которые вызываются, когда ваш
Activity
orFragment
умирает и когда возрождается. для сохранения, напримерonSaveInstanceState()
, и для восстановления:onRestoreInstanceState()
и вы можете переопределить их, чтобы сохранить и загрузить свое состояние:)
2. о, спасибо, вы очень помогли :).
3.
Happy Coding!
:)
Ответ №1:
whatsapp, viber и другие приложения получают все свои данные с сервера, поэтому для них это так же просто, как просто сохранить имя действия или фрагмента в SharedPreferences, а при повторном перезапуске приложения перенаправить вас к сохраненному действию или фрагменту и снова вызвать API.
Я сделал что-то вроде того, что вы хотите в одном из приложений. хотя мое приложение не использовало какой-либо API, поэтому у меня были все мои данные в БД, и мне просто нужно было сохранить текущее имя представления (в общих настройках), в котором пользователь находится сейчас всегда. затем, если приложение закроется или будет убито по какой-либо причине, я загружу то же представление в следующий раз.
Комментарии:
1. мое приложение также является серверным приложением. и я боюсь получить ситуацию с ошибкой, как я уже говорил выше. итак, как двигаться вперед?
2. да, это нужно сделать вручную. просто сохраните имя каждого вида сверху, который пользователь вводит в общих настройках. затем в заставке проверьте все, что вы сохранили, и направьте приложение к этой точке вручную с помощью кода. это непростая задача. android не делает это за вас автоматически.
3. хорошо, спасибо. если я этого не сделаю, приложение будет работать и вести себя хорошо, если пользователь закроет и перезапустит приложение.
4. это был вопрос? есть еще один способ запустить приложение сразу после сбоя и, например, сказать «извините за сбой». это работает, улавливая все необработанные исключения во всем приложении 😉
5. извините за глупые вопросы. насколько я знаю, это должно работать нормально, но я попробовал одно приложение на реальном устройстве, которое будет вести себя странно после перезапуска по ошибке. вот почему спросил. возможно, это была проблема с устройством.