2015-05-18 4 views
2

У меня 2 вопроса:Android Shared Preferences максимальный размер и автоматический вход в систему

Первый из них посвящен общим предпочтениям. У меня есть страница входа, которая запрашивает данные с сервера каждый раз, когда я вхожу в систему. Мне было интересно, могу ли я сохранить эти данные (большинство из них - URL и имя) в разделе «Общие настройки», чтобы загрузить их быстрее, если ничего не изменилось.

Я искал об общих предпочтениях, и я обнаружил, что в основном это файл XML, хранящийся в локальном пути, поэтому я не думаю, что есть проблема.

Моя вторая проблема, что я искал и ничего не нашел: есть ли способ скрыть активность при автоматическом входе в систему? Я уже реализовал автоматический вход в систему, но мне нужно скрыть активность и перейти через следующую, без взаимодействия пользователя с логином.

+0

Для 2-й проблемы это просто, что у вас будет флаг в общих настройках для isLoggedIn 'true' или' false'. Если пользователь выполнил вход в систему, запустите MainActivity перед LoginActivity, –

ответ

2

Для второго вопроса у вас может быть следующий поток: Запустите Main Activity и проверьте, не вошел ли пользователь в систему. Если это так, то делать нечего. Else, выполните метод finish() по фактической активности и вызовите функцию входа. В последнем вы делаете логику, а затем выполняете finish() и снова вызываете главную активность.

+0

Как остановить свою активность после перехода на мою активность входа? –

+0

Просто позвоните 'finish()' после запуска входа в систему. Небольшой пример, который должен быть в основном действии: 'if (userIsNotLoggedIn()) { \t \t \t Intent i = new Intent (this, LoginActivity.class); \t \t \t startActivity (i); \t \t \t отделка(); \t \t} ' –

+0

Не работает, некоторые из моих assyncTask, которые я начинаю с mainActivity, все еще работающие после переключения на loginActivity Intent intent = new Intent (musicPlayer.this, LoginActivity.class); intent.addFlags (Intent.FLAG_ACTIVITY_NEW_TASK); finish(); startActivity (намерение); –

1

для автоматического входа в систему просто выберите один флаг и установите его в true, когда вы вошли в систему, чем проверяете активность всплеска, если флаг равен true, а затем перейдите к следующему действию, а затем перейдите к активности входа.

Смежные вопросы