Android数据存储之SharedPreferences
访问和修改 Preferences 数据的接口,通过 getSharedPreferences(String, int) 方法可以得到 SharedPreferences 对象。对于任何一组 Preferences ,都有一个单独的所有客户都可以访问的 SharedPreferences 对象。对 Preferences 的修改必须通过同一个 SharedPreferences.Editor 对象以保证 Preferences 的值能够在提交到存储区域时保持一致。通过各种 get 方法获取到的对象,必须被认为不可被应用程序修改的。
注意:当前该类不支持跨进程访问,以后会加入这个功能。
Summary
Nested Classes |
|||
interface |
用于修改 SharedPreferences 对象中数据的接口。 |
||
interface |
当共享数据被修改时该接口中的回调方法被调用 |
Public Methods |
|||||||||||
abstract boolean |
检查 preferences 是否包含一个 preference 参数 key 要检查的 preference 的名称 返回 如果存在这个 preference 就返回true,否则返回false。 |
||||||||||
abstract SharedPreferences.Editor |
edit() 为 preferences 创建一个新的 Editor,通过它你可以对 preferences 中的数据进行修改并且原子地将修改后的数据提交到 SharedPreferences 中。 注意: 必须调用 commit() 将在 Editor 中修改的数据提交到 SharedPreferences 中。 返回 返回一个新的 SharedPreferences.Editor 接口的实例,允许你修改该 SharedPreferences 对象中的值。 |
||||||||||
getAll() 得到 preferences 中的所有值。 注意:你绝不能修改通过该方法返回的任何数据。否则将不能保证与你所存储数据的一致性。 返回 返回一个表示该 preferences 中键-值对的map集合。 抛出
|
|||||||||||
abstract boolean |
getBoolean(String key, boolean defValue) 返回 preferences 中的一个 布尔型数据。 参数 key 要得到的 preference 的名称 defValue 如果该preference 不存在则返回这个默认值 返回 如果存在则返回 preference 的值。如果该name对应的 preference 不是布尔型,则抛出ClassCastException 异常。 抛出 |
||||||||||
abstract float |
getFloat(String key, float defValue) 参考上一个方法 |
||||||||||
abstract int |
getInt(String key, int defValue) 参考上一个方法 |
||||||||||
abstract long |
getLong(String key, long defValue) 参考上一个方法 |
||||||||||
abstract String |
getString(String key, String defValue) 参考上一个方法 |
||||||||||
getStringSet(String key, Set<String> defValues) 参考上一个方法 |
|||||||||||
abstract void |
registerOnSharedPreferenceChangeListener(SharedPreferences.OnSharedPreferenceChangeListener listener) 注册监听器。当 SharedPreferences 中的值发生改变的时候该监听器中的回调方法被调用 参数 listener 要注册的监听器 |
|
|
|
|
|
|
|
|
|
|
abstract void |
unregisterOnSharedPreferenceChangeListener(SharedPreferences.OnSharedPreferenceChangeListener listener) 解注册之前注册的监听器 参数 listener 要解注册的监听器 |