SharePrefences 數據存儲

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();  
 
支持三種模式:
  • MODE_PRIVATE:只支持本程序讀寫
  • MODE_WORLD_READABLE:允許其它應用程序讀
  • MODE_WORLD_WRITEABLE :允許其它應用程序寫
 
讀取數據的方法:
SharedPreferences sp=getSharedPreferences("user", Context.MODE_PRIVATE);  
String username=sp.getString("username""error");  
第二個參數爲默認參數,即當sp中不存在username時,返回的字符串。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章