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

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

Войти
Регистрация
Восстановить пароль
 
iandryxa5
1 / 1 / 0
Регистрация: 22.03.2014
Сообщений: 170
#1

Сохранение состояния активности - Android

18.01.2015, 00:50. Просмотров 420. Ответов 6
Метки нет (Все метки)

Всем привет, в ходе разработки клиента для сервера возник такой вопрос, можно ли сохранить состояние активности при запуске другой активности, то есть как все происходит, в первоначальной активности происходит подключение к серву
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 @Override
        protected Object doInBackground(Object... params) {
            try {
                sock = new Socket("192.168.0.102", 5050);
                InputStreamReader streamReader = new InputStreamReader(sock.getInputStream());
                reader = new BufferedReader(streamReader);
                writer = new PrintWriter(sock.getOutputStream());
                Log.e(TAG, "Подключение выполнено");
            } catch (Exception e) {
                e.printStackTrace();
                Log.e(TAG, "Подключение провалилось!");
            }
            return null;
        }
С помощью ActionBar пользователь переходит в другую, заполняет нужные строки, после чего возвращается обратно, и эти строки передаются серверу, так вот в чем и состоит вопрос, можно как нибудь сохранить подключение к серверу(объекты BufferedReadr и PrintWriter) при переходе из одной активности в другую и обратно?
Потому что сейчас при переходе обратно в начальную активность вылетает исключение что BufferedReader равен нулю, даже если выполнять подключение к серверу при каждом создании активности в onCreate();
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
contedevel
57 / 55 / 8
Регистрация: 07.10.2012
Сообщений: 590
18.01.2015, 09:14     Сохранение состояния активности #2
Лучше обработайте onResult или onResultActivity (на сайте посмотрите точное название) и в нем восстановите подключение.
Armagedo
208 / 208 / 60
Регистрация: 22.08.2014
Сообщений: 644
18.01.2015, 14:06     Сохранение состояния активности #3
Цитата Сообщение от iandryxa5 Посмотреть сообщение
даже если выполнять подключение к серверу при каждом создании активности в onCreate();
а если при каждом onStart() или onResume()?
contedevel
57 / 55 / 8
Регистрация: 07.10.2012
Сообщений: 590
18.01.2015, 14:09     Сохранение состояния активности #4
Цитата Сообщение от Armagedo Посмотреть сообщение
а если при каждом onStart() или onResume()?
Возможно я ошибаюсь, но onStart() не вызывается при возврате (но лучше проверьте, давно это было не помню уже, могу путать)
P.S. Я за системную кнопку "back", а не "up" в actionbar
Spelcrawler
525 / 495 / 111
Регистрация: 12.03.2014
Сообщений: 1,647
Завершенные тесты: 1
18.01.2015, 15:15     Сохранение состояния активности #5
Цитата Сообщение от contedevel Посмотреть сообщение
P.S. Я за системную кнопку "back", а не "up" в actionbar
А что вы вешаете на кнопку up? Почему не onBackPressed()?)
Kastaneda
Форумчанин
Эксперт С++
4470 / 2832 / 224
Регистрация: 12.12.2009
Сообщений: 7,202
Записей в блоге: 1
Завершенные тесты: 1
18.01.2015, 15:25     Сохранение состояния активности #6
Цитата Сообщение от Armagedo Посмотреть сообщение
а если при каждом onStart() или onResume()?
onPause(), onResume()
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.01.2015, 20:29     Сохранение состояния активности
Еще ссылки по теме:

Сохранение состояния приложения с целью экономии времени при последующих запусках Android
Эффект затемнения активности Android
Изменение фона активности Android
Android Отслеживание активности
Android Сохранение состояния списка

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

Или воспользуйтесь поиском по форуму:
contedevel
57 / 55 / 8
Регистрация: 07.10.2012
Сообщений: 590
18.01.2015, 20:29     Сохранение состояния активности #7
Цитата Сообщение от Spelcrawler Посмотреть сообщение
А что вы вешаете на кнопку up? Почему не onBackPressed()?)
Пользователь может вернуться к предыдущему экрану и через Up в частности, если предыдущий экран является верхним уровнем по отношению к текущему (тут уже от архитектуры приложения зависит), да, в таком случае точно вызовется onStart()
Yandex
Объявления
18.01.2015, 20:29     Сохранение состояния активности
Ответ Создать тему
Опции темы

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