Android : 登錄並保存密碼


Android 實現簡易登錄並保存密碼。

記住密碼以及自動登錄的實現主要依賴於 SharedPreferences 類的使用,SharedPreferences 是一個輕量級的存儲類,用於存儲一些小數據,比如登錄賬號密碼以及狀態信息等。

使用工具

  • android studio (ver. 3.5.1)
  • android(sdk 29)
  • java(ver.1.8.0)
  • gradle(ver. 5.4.1)

功能實現

記住密碼和自動登錄使用 CheckBox 來實現,並設置了全局變量接收當前記住密碼以及自動登錄的狀態。

private EditText etName;
private EditText etPass;
private CheckBox cbIsRememberPass;
private SharedPreferences sharedPreferences;

使用 SharedPreferences 時在頁面初始化的時候實例,也就是在 onCreate() 中實現,在實例該類時會在本地創建一個文件,需要給該文件命名。下面是初始化頁面時從已存在的文件中讀取信息。

sharedPreferences=getSharedPreferences("remenberpass", Context.MODE_PRIVATE);
         boolean isRemenber=sharedPreferences.getBoolean("remenberpass",false);
         if(isRemenber){
             String name=sharedPreferences.getString("name","");
             String pass=sharedPreferences.getString("pass","");
             etName.setText(name);
             etPass.setText(pass);
             cbIsRememberPass.setChecked(true);
         }

給登錄按鈕點擊事件綁定用於驗證登錄。

public void login(View view){
         String name=etName.getText().toString();
         String pass=etPass.getText().toString();
  			 //測試賬號密碼均為 123
         if("123".equals(name)&&"123".equals(pass)){
             SharedPreferences.Editor editor=sharedPreferences.edit();
             if(cbIsRememberPass.isChecked()){
                 editor.putBoolean("remenberpass",true);
                 editor.putString("name",name);
                 editor.putString("pass",pass);
             }else {
                 editor.clear();
             }
             editor.commit();
             Intent intent=new Intent(this,login_successful.class);
             startActivity(intent);
             finish();
         }else {
             Toast.makeText(this,"賬號或密碼有誤",Toast.LENGTH_LONG).show();
         }
    }

演示

pic1pic2

代碼下載地址

SimpleLogin


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM