記住密碼、自動登錄、顯示密碼

記住密碼和自動登錄

利用SharedPreferences可以實現記住密碼和自動登錄的功能。

在onCreate方法中添加以下代碼:

//記住密碼和自動登錄
rememberPwd.setChecked(false);
autoLogin.setChecked(false);

sp = getSharedPreferences("BookFloating_SharedPrefreence",0);
String email = sp.getString("email",null);
String pwd = sp.getString("pwd",null);

SharedPreferences.Editor editor = sp.edit(); //SharePreference編輯器

if (!email.equals("")){
    accountEdit.setText(email);
}

if (sp.getBoolean("remember",false)){ //如果上次設定了記住密碼
    //Log.d("test_remember_Boolean","true");
    rememberPwd.setChecked(true);
    pwdEdt.setText(pwd);
}
if (sp.getBoolean("autoLogin",false)){ //如果上次上次設定自動登錄
    autoLogin.setChecked(true);

    login(email,pwd);
}

在登錄前加上以下代碼:

SharedPreferences.Editor editor = sp.edit();
editor.putString("email",email); 
if (rememberPwd.isChecked()){
    rememberPwd.setChecked(true);
    editor.putBoolean("remember",true);
    editor.putString("email",email);
}else {
    editor.putBoolean("remember",false);
    editor.putString("email",email);
}
if (autoLogin.isChecked()){
    autoLogin.setChecked(true);
    editor.putBoolean("autoLogin",true);
    editor.putString("pwd",pwd);
}else{
    editor.putBoolean("autoLogin",false);
    editor.putString("pwd",pwd);
}
editor.commit();

顯示密碼:

添加CheckBox,設置監聽器如下:

showPwd.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
    @Override
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
        if (isChecked){
            pwdEdt.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
        }else {
            pwdEdt.setTransformationMethod(PasswordTransformationMethod.getInstance());
        }
    }
});
發佈了136 篇原創文章 · 獲贊 11 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章