使用SharedPreferences(保存用戶偏好參數)保存數據, 當我們的應用想要保存用戶的一些偏好參數,比如是否自動登陸,是否記住賬號密碼,是否在Wifi下才能 聯網等相關信息,如果使用數據庫的話,顯得有點大材小用了!我們把上面這些配置信息稱為用戶的偏好 設置,就是用戶偏好的設置,而這些配置信息通常是保存在特定的文件中!而在Android中我們通常使用 一個輕量級的存儲類——SharedPreferences來保存用戶偏好的參數!SharedPreferences也是使用xml文件, 使用鍵-值的形式來存儲數據;我們只需要調用SharedPreferences的getXxx(name), 就可以根據鍵獲得對應的值!使用起來很方便!
封裝工具類,代碼如下:
public class ShaPreUtil {
private SharedPreferences preferences;
public ShaPreUtil(Context context) {
preferences = context.getSharedPreferences("app", Context.MODE_PRIVATE);
}
//保存數據
public <T> void set(String key, T value) {
SharedPreferences.Editor editor = preferences.edit();
if (value instanceof String) {
editor.putString(key, String.valueOf(value));
}
if (value instanceof Boolean) {
editor.putBoolean(key, (Boolean) value);
}
if (value instanceof Integer) {
editor.putInt(key, (Integer) value);
}
editor.apply();
}
//取數據
public String getString(String key) {
return preferences.getString(key, "-1");
}
public boolean getBoolean(String key) {
return preferences.getBoolean(key, true);
}
public int getInt(String key) {
return preferences.getInt(key, -1);
}
public void remove(String key) {
SharedPreferences.Editor editor = preferences.edit();
editor.remove(key);
editor.apply();
}
}
工具類使用
//初始化shaPreUtil
ShaPreUtil shaPreUtil = new ShaPreUtil(getActivity());
//存數據
shaPreUtil.set("name", "sc");
shaPreUtil.set("password", "123456");
//取數據
String name = shaPreUtil.getString("name");
Toast.makeText(getActivity(), "信息已寫入SharedPreference中" + name, Toast.LENGTH_SHORT).show();