Android. How to save user name and password after the app is closed?

后端 未结 4 1066
走了就别回头了
走了就别回头了 2020-12-09 01:07

I am writing an application with login details (username and password).
I want to make it so that when the user closes the application and starts it again later he/she d

4条回答
  •  抹茶落季
    2020-12-09 01:34

    Try this way: defined Preferences first

    private static final String PREFS_NAME = "preferences";
    private static final String PREF_UNAME = "Username";
    private static final String PREF_PASSWORD = "Password";
    
    private final String DefaultUnameValue = "";
    private String UnameValue;
    
    private final String DefaultPasswordValue = "";
    private String PasswordValue;
    

    And onPause()

    @Override
    public void onPause() {
        super.onPause();
        savePreferences();
    
    }
    

    And onResume()

    @Override
    public void onResume() {
        super.onResume();
        loadPreferences();
         }
    

    And here savePreferences()

    private void savePreferences() {
        SharedPreferences settings = getSharedPreferences(PREFS_NAME,
                Context.MODE_PRIVATE);
        SharedPreferences.Editor editor = settings.edit();
    
        // Edit and commit
        UnameValue = edt_username.getText();
        PasswordValue = edt_password.getText();
        System.out.println("onPause save name: " + UnameValue);
        System.out.println("onPause save password: " + PasswordValue);
        editor.putString(PREF_UNAME, UnameValue);
        editor.putString(PREF_PASSWORD, PasswordValue);
        editor.commit();
    }
    

    And here loadPreferences()

    private void loadPreferences() {
    
        SharedPreferences settings = getSharedPreferences(PREFS_NAME,
                Context.MODE_PRIVATE);
    
        // Get value
        UnameValue = settings.getString(PREF_UNAME, DefaultUnameValue);
        PasswordValue = settings.getString(PREF_PASSWORD, DefaultPasswordValue);
        edt_username.setText(UnameValue);
        edt_password.setText(PasswordValue);
        System.out.println("onResume load name: " + UnameValue);
        System.out.println("onResume load password: " + PasswordValue);
    }
    

提交回复
热议问题