SP(sharedpreference)的简单使用

SP(sharedpreference)是Android自带的一种轻量级存储方法(XML文件存储方式),它一般储存在文件/data/data//shared_prefs目录下。使用规则很单一,因为它仅能以键值对的形式储存单个对应的数据(具体最常见的使用方法就是用户名登陆,类似QQ,比如你输入一个账号,这个账号信息就会保存在显示框中,但当你输入另一个账号,它就会被覆盖掉,转而储存另一个账号…(当然,下拉选择的方法不算…))。:

废话不多说,代码上见说明吧:

/**
 * 1、先写这么一个自定义类
 * 2、要引用sp时就直接new这个类(无论存入sp还是读sp)
 * 
 * 3、这个例子为你介绍了使用sp的最最基本的组成,如果需要,只需一直粘贴、复制...
 */

public class MySharedPreference {

    //这是要创建的文件名声明
    public static final String FILE_NAME = "this_is_file_name";

    //这是你要存的一个东西的key值
    public static final String KEY_ABOUT_WHAT = "this_is_key";

    //这是你要存的一个东西的value值,当你调用了sp,而
    //没做任何赋值的话,它(DEFAULT_VALUE )就是默认值,
    //如果是String类型的,可以为""(空)引用
    public static final int DEFAULT_VALUE = 2;

    //这个类必需有,具体为什么我就不说了
    private final SharedPreferences mSharedPreferences;

    //接下来先说一说SharedPreferences的四种操作模式:
    // Context.MODE_PRIVATE
    // Context.MODE_APPEND
    // Context.MODE_WORLD_READABLE
    // Context.MODE_WORLD_WRITEABLE
    // Context.MODE_PRIVATE:为默认操作模式,代表该文件是私有数据,只能被应用本身访问,在该模式下,写入的内容会覆盖原文件的内容
    // Context.MODE_APPEND:模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件.
    // Context.MODE_WORLD_READABLE和Context.MODE_WORLD_WRITEABLE用来控制其他应用是否有权限读写该文件.
    // MODE_WORLD_READABLE:表示当前文件可以被其他应用读取.
    // MODE_WORLD_WRITEABLE:表示当前文件可以被其他应用写入.
    //构造方法,其中context.getSharedPreferences(文件名, 访问模式)就是创建一个this_is_file_name.xml文件,读取方式为默认格式
    public MySharedPreference (Context context) {
        mSharedPreferences = context.getSharedPreferences(FILE_NAME , Context.MODE_PRIVATE);
    }

    //根据Key值自定义取出sp值的方法
    public int getKey(){
        return mSharedPreferences.getInt(KEY_ABOUT_WHAT ,DEFAULT_VALUE);
    }

    //根据Key值自定义存入sp值的方法,其中setKey(参数),参数是你要存入类型数据
    //sp要存入的话,需要一个接口方法edit(),edit()里面定义了putString、putInt等各种类型的值的存入方法。
    //插入数据:调用Editor.putxxxx方法,两个参数分别为键和值。
    //获取数据:调用Editor.getxxxx方法,两个参数分别为键和不存在指定键时的默认值。
    //删除数据:调用Editor.remove方法,参数为指定的键。
    //清空所有数据:调用Editor.clear方法
    public void setKey(int key){
mSharedPreferences.edit().putInt(KEY_ABOUT_WHAT ,key).commit();
    }

    //使用方法:
    //接MySharedPreference sp = new MySharedPreference();
    //然后用调用sp.setKey(有几个参数就写几个,用“,”隔开)就是存入sp中,
    //调用sp.getKey()就是取出sp文件中的值就行啦
}

以上就是我的个人使用心得了,如果错误,请指出,谢谢。