SharePrefences是Android數據存儲最常用的方式之一
SharePrefence是用來保存少量數據的方式,如保存程序配置信息等。SharePrefences的源碼如下所示:
package android.content;
import java.util.Map;
import java.util.Set;
public interface SharedPreferences {
public interface OnSharedPreferenceChangeListener {
/*監聽Shareprefences變化,當key變化時,做處理*/
void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key);
}
public interface Editor {
/*用於存儲數據的方法*/
Editor putString(String key, String value);
Editor putStringSet(String key, Set<String> values);
Editor putInt(String key, int value);
Editor putLong(String key, long value);
Editor putFloat(String key, float value);
Editor putBoolean(String key, boolean value);
/*移除某一項*/
Editor remove(String key);
/*清空的方法*/
Editor clear();
/*同步保存更改的方法*/
boolean commit();
/*異步保存到磁盤,原子提交,性能更高,不保證結果*/
void apply();
}
/*獲取所有的鍵值對*/
Map<String, ?> getAll();
/*取值的方法*/
String getString(String key, String defValue);
Set<String> getStringSet(String key, Set<String> defValues);
int getInt(String key, int defValue);
long getLong(String key, long defValue);
float getFloat(String key, float defValue);
boolean getBoolean(String key, boolean defValue);
/*判斷是否包含某個key*/
boolean contains(String key);
/*編輯接口*/
Editor edit();
/*註冊監聽函數*/
void registerOnSharedPreferenceChangeListener(OnSharedPreferenceChangeListener listener);
/*註銷監聽看書*/
void unregisterOnSharedPreferenceChangeListener(OnSharedPreferenceChangeListener listener);
}
可以看出Shareprefences是一個接口,提供了保存和讀取數據的方法。同時可以看出Shareprefences只能存儲基本數據,它的Key只能是String。
使用方法
保存數據的方法,獲取默認名稱的Shareprefences,其名稱是工程包名:
SharedPreferences sp=getSharedPreferences("user", Context.MODE_PRIVATE); SharedPreferences.Editor editor=sp.edit();
editor.putString("username", "root");
editor.commit();
支持三種模式:
讀取數據的方法:
SharedPreferences sp=getSharedPreferences("user", Context.MODE_PRIVATE);
String username=sp.getString("username", "error");