• Android 中文api (88)——SharedPreferences



    前言

      本章内容是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对象
    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();


     

  • 相关阅读:
    flex+spring3.0+blazds 数据推送整理版
    深入理解java虚拟机学习笔记1.
    一个netty序列化引起的思考。
    万年历
    面试理论题
    EF之Database First
    20120902 09:29 SQL、LINQ、Lambda 三种用法
    内容漂浮在图片上(div漂浮)
    生成订单号
    时间对比
  • 原文地址:https://www.cnblogs.com/over140/p/1934301.html
Copyright © 2020-2023  润新知