Android-實現記住賬號密碼功能
佈局
一個核取方塊
<CheckBox
android:id="@+id/checkbox"
android:radius="5dp"
android:text="記住我"
android:layout_marginLeft="20dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
程式碼
public class MainActivity extends AppCompatActivity implements View.OnClickListener{
private CheckBox checkBox;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
checkBox = findViewById(R.id.checkbox);
SharedPreferences sp = getSharedPreferences("items",MODE_PRIVATE);
/**
* getBoolean(name,defaultValue) 若沒有name,則返回defaultValue
* 獲取標誌位,若flag為true,則有資料
*/
if( sp.getBoolean("flag",false)==true ){
getData();
//模擬點選
checkBox.performClick();
}
//設定checkbox的監聽事件
checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean isCheck) {
//若選中,則儲存資料,否則,清除資料
if(isCheck){
saveData();
Toast.makeText(MainActivity.this,"已儲存",Toast.LENGTH_LONG).show();
}
else{
clearData();
}
}
});
}
/**
* SharedPreferences為輕量級的儲存方式
* Context.MODE_PRIVATE:為預設操作模式,代表該檔案是私有資料,只能被應用本身訪問。
* 在該模式下,寫入的內容會覆蓋原檔案的內容
*/
//清除資料
private void clearData() {
SharedPreferences sp = getSharedPreferences("items",MODE_PRIVATE);
SharedPreferences.Editor editor = sp.edit();
editor.clear();
editor.commit();
et1.setText("");
et2.setText("");
}
/**
* 獲取SharedPreferences資料
*/
private void getData(){
SharedPreferences sp = getSharedPreferences("items", Context.MODE_PRIVATE);
String username = sp.getString("username","");
String password = sp.getString("password","");
et1.setText(username);
//密文設定
TransformationMethod method = PasswordTransformationMethod.getInstance();
et2.setText(password);
et2.setTransformationMethod(method);
}
/**
*儲存資料
* android:onClick響應的方法 只能用修飾符public
*/
public void saveData(){
SharedPreferences sharedPreferences = getSharedPreferences("items", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
String username = et1.getText().toString();
String password = et2.getText().toString();
if(!username.equals("") && !password.equals("")) {
editor.putString("username", username);
editor.putString("password", password);
editor.putBoolean("flag", true); //標誌位
editor.commit();
}
}
}
測試
相關文章
- C# 實現記住密碼功能C#密碼
- SharedPreferences實現記住密碼----自動登入功能密碼
- linux儲存住github的賬號和密碼LinuxGithub密碼
- 安卓實現賬號密碼儲存安卓密碼
- SpringSecurity(2)---記住我功能實現SpringGse
- 直播軟體app開發,vue記住密碼功能APPVue密碼
- 通過jquery.cookie.js實現記住使用者名稱、密碼登入功能jQueryCookieJS密碼
- 直播系統原始碼,自動登入及記住密碼實現原始碼密碼
- 賬號密碼登入介面密碼
- Linux 清除 Git 賬號密碼LinuxGit密碼
- vue中使用cookies和crypto-js實現記住密碼和加密VueCookieJS密碼加密
- 帝國cms密碼忘記,帝國cms網站忘記登陸賬號密碼密碼網站
- 萬能賬號密碼使用min密碼
- elasticsearch加賬號密碼登入Elasticsearch密碼
- es 的 url 加入賬號密碼密碼
- 使用賬號密碼來操作github? NO!密碼Github
- MySQL修改賬號密碼方法大全MySql密碼
- win10 ftp如何清除賬號密碼_win10怎麼清理自己ftp賬號密碼Win10FTP密碼
- SSH 遠端登入「記住密碼」密碼
- git儲存賬號密碼到本地Git密碼
- SpringBoot + Spring Security 學習筆記(四)記住我功能實現Spring Boot筆記
- kali 忘記賬戶密碼密碼
- 小視訊app原始碼,實現簡單的登入介面,輸入賬號密碼APP原始碼密碼
- 低程式碼快速實現簡單的財務收款記賬功能
- 忘記Apple ID密碼,如何從iPhone/iPad上移除iCloud賬號APP密碼iPhoneiPadCloud
- 鴻蒙 Next 密碼保險箱:賬號密碼管理全流程鴻蒙密碼
- git本地修改賬號密碼及郵箱Git密碼
- composer install的時候需要賬號密碼密碼
- 寶塔皮膚忘記賬號和密碼的解決辦法密碼
- WinForm應用程式的開機自啟、記住密碼,自動登入的實現ORM密碼
- 收拾混亂賬密,IT特權賬號管理實踐分享
- squid 反向代理且需要賬號、密碼驗證UI密碼
- PbootCMS的預設賬號密碼是什麼?boot密碼
- 記住我的實現方式
- SQL Server 禁用Windows身份登入時忘記其他賬號如sa登入密碼後重置密碼SQLServerWindows密碼
- 直播app原始碼,登入時自動輸入密碼/自動記住密碼APP原始碼密碼
- flask框架如何實現修改密碼和免密登入功能Flask框架密碼
- 網站密碼顯隱功能實現視訊網站密碼