SharedPreferences

除了SQLite数据库外,SharedPreferences也是一种轻型的数据存储方式,它是Android数据持久化方法中最简单的一种。

本质是基于XML文件存储key-value键值对数据,通常用来存储一些简单的配置信息,而且是标准的Boolean、Int、Float、

Long、String等类型。其存储位置在/data/data/<包名>/shared_prefs目录下。

1.

public abstract boolean getBoolean (String key, boolean defValue)

从preferences中获取一个boolean类型的值。

    参数

key            获取的preference的名称

defValue 当此preference不存在时返回的默认值

返回值

如果preference存在,则返回preference的值,否则返回defValue。如果使用此名称的preference不是一个boolean类型,则抛出ClassCastException

        异常

ClassCastException   

public abstract float getFloat (String key, float defValue)

从preferences中获取一个float类型的值。

    参数

key            获取的preference的名称

defValue 当此preference不存在时返回的默认值

返回值

如果preference存在,则返回preference的值,否则返回defValue。如果使用此名称的preference不是一个float类型,则抛出ClassCastException

异常

ClassCastException   

 

public abstract int getInt (String key, int defValue)

从preferences中获取一个int类型的值。

    参数

key            获取的preference的名称

defValue 当此preference不存在时返回的默认值

返回值

如果preference存在,则返回preference的值,否则返回defValue。如果使用此名称的preference不是一个int类型,则抛出ClassCastException

异常

ClassCastException   

 

public abstract long getLong (String key, long defValue)

从preferences中获取一个long类型的值。

    参数

key            获取的preference的名称

defValue 当此preference不存在时返回的默认值

返回值

如果preference存在,则返回preference的值,否则返回defValue。如果使用此名称的preference不是一个long类型,则抛出ClassCastException

异常

ClassCastException   

 

public abstract String getString (String key, String defValue)

从preferences中获取一个String类型的值。

    参数

key            获取的preference的名称

defValue 当此preference不存在时返回的默认值

返回值

如果preference存在,则返回preference的值,否则返回defValue。如果使用此名称的preference不是一个String类型,则抛出ClassCastException

异常

ClassCastException   

 

public abstract void registerOnSharedPreferenceChangeListener (SharedPreferences.OnSharedPreferenceChangeListener listener)

注册一个回调函数,当一个preference发生变化时调用。

参数

listener    将会被调用的回调函数

    四、公共方法

public abstract boolean contains (String key)

 

判断preferences是否包含一个preference

 

参数

 

key 想要判断的preference的名称

 

返回值

 

如果preferences中存在preference,则返回true,否则返回false

 

 

 

public abstract SharedPreferences.Editor edit ()

 

针对preferences创建一个新的Editor对象,通过它你可以修改preferences里的数据,并且原子化的将这些数据提交回SharedPreferences对象。(译者注:原子化——作为一个整体提交,原子性)

 

注意:如果你想要在SharedPreferences中实时显示,刚通过Editor对象进行的修改,那么你必须调用commit()方法。

 

返回值

 

返回一个SharedPreferences.Editor的新实例,允许你修改SharedPreferences对象里的值。

 

 

 

public abstract Map<String, ?> getAll ()

 

取得preferences里面的所有值

 

返回值

 

返回一个map,其中包含一列preferences中的键值对

 

        异常

 

            空指针异常(NullPointerException)

 

原文地址:https://www.cnblogs.com/yangfei-beijing/p/4943434.html