返回介绍

SharedPreferences

发布于 2025-03-09 17:00:19 字数 6466 浏览 0 评论 0 收藏 0

SharedPreferences

翻译版本:2010-11-1

结构

继承关系

public interface SharedPreferences

android.content.SharedPreferences

类概述

用于访问和修改 getSharedPreferences(String, int) 返回偏好设置数据(preference data) 的一个接口。对于任何一组特殊的 preferences,所有的客户端共享一个此类单独的实例。

修改 Preferences 必须通过一个 SharedPreferences.Editor 对象,以确保当他们提交存储数据的操作时,preference 值保持一致的状态。

注意:当前此类不支持多线程访问。后续将添加。

(译者注:这里译为” 偏好设定”,类似于 ini 文件,用于保存应用程序的属性设置)

参见

getSharedPreferences(String, int)

内部类

interface SharedPreferences.Editor

用于修改 SharedPreferences 对象设定值的接口。

interface SharedPreferences.OnSharedPreferenceChangeListener

接口定义一个用于在偏好设定(shared preference) 改变时调用的回调函数。

公共方法

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)

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 将会被调用的回调函数

参见

unregisterOnSharedPreferenceChangeListener(SharedPreferences.OnSharedPreferenceChangeListener)

public abstract void unregisterOnSharedPreferenceChangeListener (SharedPreferences.OnSharedPreferenceChangeListener listener)

注销一个之前(注册) 的回调函数

参数

listener 要被注销的回调函数

参见

registerOnSharedPreferenceChangeListener(SharedPreferences.OnSharedPreferenceChangeListener)

补充

文章精选

SharedPreferences

[Android 开发者指南] 第十八讲:Android SharedPreferences 和 File

SharedPreferences 用法

Android 程式設計 (十五) 使用 SharedPreferences

示例代码

译注:Shared Preferences 保存位置:/data/data/app_name/shared_prefs/*.xml

private boolean flag = false;

//取得活动的 Preferences 对象

SharedPreferences settings = getPreferences(Activity.MODE_PRIVATE);

//取得值

flag = settings.getBoolean(“flag”,false);

//取得活动的 Preferences 对象

SharedPreferences settings = getPreferences(0);

//取得编辑对象

SharedPreferences.Editor editor = settings.edit();

//添加值

editor.putBoolean(“true”,flag);

//提交保存

editor.commit();

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文