сохранение данных об авторизации в приложение
Я начинающий java программист, и недавно меня попросили сделать на заказ простенькое приложение, но есть одна загвоздка: при каждом входе приходится заново проходить авторизацию. После экрана загрузки пользователя перекидывает в окно аутентификации, но, по идее, если пользователь авторизирован, то после экрана загрузки его должно перекинуть на другое activity. Подскажите как это реализовать. Вот код экрана загрузки:
new Handler().postDelayed(new Runnable(){
public void run(){
startActivity(new Intent(MainActivity.this, Authoriz.class));
finish();
}
}, 3000);
Ответы (1 шт):
Я бы для таких целей советовал использовать SharedPreferences. Суть вот в чем - при успешной авторизации вы в память телефона записываете переменную, которая отображает состояние авторизации. При логауте вы меняете состояние этой переменной на "не_авторизован". Вот код для записи переменной:
SharedPreferences mSettings = getSharedPreferences("my_storage", Context.MODE_PRIVATE);
Editor editor = mSettings.edit();
editor.putBoolean("is_logged", true).apply();
таким образом, переменная is_logged со значением true будет соответствовать тому что юзер уже логинился. Дальше при запуске активности, вам нужно будет проверять эту переменную и если она true то переходить дальше:
if(mSettings.getBoolean("is_visited", false)){
startActivity(new Intent(MainActivity.this, Authoriz.class));
finish();
}else{
// пользователь не авторизован
}
Эту переменную SharedPreferences mSettings; можно сделать глобальной, а инициализировать в методе onCreate():
mSettings = getSharedPreferences("my_storage", Context.MODE_PRIVATE);