Заметил, что при нажатии кнопки назад (аппаратной или оболочки), мое подключение к серверу через сокет прерывается и пересоздается и заново не переподключается. Можете объяснить, как вообще работает приложение при нажатии этой кнопки и как можно подобное исправить
При нажатии кнопки назад (аппаратной или оболочки) система Андроид вызывает Activity из стека. Стек работает по принципу "первый пришел-последний вышел". Т.е. самая первая Activity появится последней, если последовательно нажимать кнопку назад.
В Activity от момента инициализации до момента завершения ее работы система последовательно (в основном случае,но не всегда) вызывает следующие методы onCreate(), onStart(), onResume(), onPause(), onStop(), onDestroy.
При создании нового экземпляра Activity система всегда последовательно вызывает : onCreate(), onStart() и onResume() и соответственно выполняет программный код, который вы написали при переопределении этих методов.
При вызове следующей Activity, для предыдущей система вызывает метод onPause(). Из этого состояния Activity может быть либо опять возобновлена вызовом метода onResume() либо система ее может скрыть (но не уничтожить!!!) вызвав метод onStop(). При возобновлении Activity из этого состояния будет вызван метод onStart() (onRestart()) и следом метод onResume().
Следует не забывать, что система Андроид при нехватке памяти может удалить не активную на данный момент Activity. В этом случае, она удалится из стека тоже и будет вызвана заново.
И еще один момент, при повороте экрана устройства Activity так же создается заново.
Для того, чтобы ваше приложение переподключалось к серверу вам нужно учесть все вышеописанные ситуации, спроектировать модель поведения и соответственно реализовать это в программном коде.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Разрабатываю Android приложение, которое включает в себя работу с БД (регистрация пользователя и тд
Здравствуйте, возможно ли выполнить подобное? Как перевести символьный массив в строку я знаю, а как наоборот?
Часто вижу утверждения, что надо использовать PreparedStatement вместо обычного Statement, чтобы защититься от sql инъекцийКак он защищает?
У меня есть некий бот для телеграмма, как сделать, что бы он сам себя перезапускал?