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));