Сохранить состояние входа в систему в sqlite или поделиться настройкой - PullRequest
0 голосов
/ 27 января 2020

Я делаю приложение, в моем приложении я делаю экран входа в систему и экран регистрации, я хочу сохранить состояние входа в систему, если пользователь входит в приложение, тогда он никогда не будет входить снова, пока пользователь не выйдет из приложения, но я не знаю, где Код общего предпочтения - это орудия труда. Пожалуйста, дайте мне подходящее решение. Вот мои скриншоты с полным кодом экрана входа в систему

enter image description here

enter image description here

enter image description here

Ответы [ 3 ]

0 голосов
/ 27 января 2020
 public class Pref {

        private  static final String PREF_FILE = BuildConfig.APPLICATION_ID.replace(".","_");
        private static SharedPreferences sharedPreferences = null;

        private static void openPref(Context context) {
            sharedPreferences = context.getSharedPreferences(PREF_FILE,Context.MODE_PRIVATE);
        }

        //For string value
        public static String getValue(Context context, String key,String defaultValue) {
            Pref.openPref(context);
            String result = Pref.sharedPreferences.getString(key, defaultValue);
            Pref.sharedPreferences = null;
            return result;
        }

        public static void setValue(Context context, String key, String value) {
            Pref.openPref(context);
            Editor prefsPrivateEditor = Pref.sharedPreferences.edit();
            prefsPrivateEditor.putString(key, value);
            prefsPrivateEditor.commit();
            Pref.sharedPreferences = null;
        }

        //You can create method like above for boolean, float, int etc...
    }

Если вы хотите сохранить строковые данные, вы можете написать, как показано ниже:

Pref.setValue(mContext,"test", "Test123");

Если вы хотите извлечь строковые данные, чем вы можете написать, как показано ниже

Pref.getValue(mContext,"test", "your default value");

это возвращаемое строковое значение как «Test123». Если вы получите значение без setvalue, то оно вернет ваше значение по умолчанию, здесь это «ваше значение по умолчанию».

, когда вам нужно выйти из системы, как показано ниже

SharedPreferences preferences = getSharedPreferences(PREF_FILE, Context.MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();
editor.clear(); 
editor.commit();
0 голосов
/ 27 января 2020

у вас есть настройки магазина, как в этом простом примере

//use this code to login successfully so store login status true in Preferences
    getSharedPreferences("user",MODE_PRIVATE)
       .edit().putBoolean("isLogin",true).commit();

//-----then open app again to check user already login or not-------------------------

boolean isLogin = getSharedPreferences("user",MODE_PRIVATE)
                .getBoolean("isLogin",false);

        if(isLogin)
        {
            //this user is login
        }else {
            //go to login screen this user is not login
        }
0 голосов
/ 27 января 2020

Вы можете использовать общие настройки. Это так просто в использовании.

SharedPreferences userDetails =getSharedPreferences("userdetails", MODE_PRIVATE);
                    Editor edit = userDetails.edit();
                    edit.clear();
                    edit.putString("username", "");
                    edit.putString("password", "");
                    edit.commit();

Также вы можете получить данные с помощью;

userDetails.getString("username", "");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...