Android SharedPreferences保存登錄狀態

SharedPreferences是Android中一種數據持久化方法,採用鍵值對的方式存儲數據,這裏我以保存登錄狀態爲例,簡述SharedPreferences的使用。

首先,我們在用戶登錄時,保存SharedPreferences,向SharedPreferences.edit()中添加數據,SharedPreferences支持的數據類型如下:


其中要注意,不要每次新建不同Editor插入數據,否則會造成取不出數據。

這裏Android建議使用apply()來代替commit(),因爲commit()是立即存儲數據,而apply()是在後臺處理。

SharedPreferences sp = getSharedPreferences("login", Context.MODE_PRIVATE);
sp.edit()
    .putString("username", usernameView.getText().toString())
    .putString("password", passwordView.getText().toString())
    .apply();

當用戶再次打開應用時,我們首先看SharedPreferences中是否有存儲的數據,如果有我們就取出來設置到EditText中,實現記住密碼功能,或是直接向服務器發送請求,從而實現自動登錄。

SharedPreferences sp = getSharedPreferences("login", Context.MODE_PRIVATE);
usernameView.setText(sp.getString("username", null));
passwordView.setText(sp.getString("password", null));

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章