前言

  本章内容是android.content.SharedPreferences,版本为Android 2.3 r1,翻译来自"madgoat",欢迎大家访问他的博客:http://madgoat.cn/,再次感谢"madgoat" !期待你加入Android 中文翻译组,联系我over140@gmail.com。

声明

  欢迎转载,但请保留文章原始出处:)

    博客园:http://www.cnblogs.com/

    Android中文翻译组:http://goo.gl/6vJQl

正文

  一、结构

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 SharedPreferencesFile

SharedPreferences用法

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

    示例代码

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

private boolean flag = false ;

// 取得活动的Preferences对象
SharedPreferencessettings = getPreferences(Activity.MODE_PRIVATE);
// 取得值
flag = settings.getBoolean(“flag”, false );

// 取得活动的Preferences对象
SharedPreferencessettings = getPreferences( 0 );
// 取得编辑对象
SharedPreferences.Editoreditor = settings.edit();
// 添加值
editor.putBoolean(“ true ”,flag);
// 提交保存
editor.commit();


更多相关文章

  1. 【阿里云镜像】切换阿里巴巴开源镜像站镜像——Debian镜像
  2. android sd卡状态、路径、可用空间,内存
  3. android 发送短信的两种方式
  4. Android获取SD卡剩余空间
  5. Android如何获取SIM卡信息
  6. Android之获取屏幕和视图高和宽
  7. Android(安卓)设置横屏/竖屏
  8. Android各种获取Context方法
  9. android 判断真机或者模拟器

随机推荐

  1. Android耳机线控-播放/暂停/上一曲/下一
  2. Android网易顶部导航栏(用ActivityGroup实
  3. 进程(一) 1.2 Android中异步处理大杀器—
  4. 【Android(安卓)界面效果17】Android手机
  5. 跟Google学习Android开发-起始篇-支持不
  6. [置顶] android 程序开发的插件化 模块化
  7. Android(安卓)弹无虚发之第四弹:你应该掌
  8. [置顶] Android(安卓)轻松实现网络交互模
  9. 开发一个完整android app 需要掌握哪些知
  10. Android(安卓)App调用SDK 登录第一次总是