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时,返回的字符串。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章