SharedPreferences是Android中存储简单数据的一个工具类。
它通过用键值对的方式把简单数据类型(boolean、int、float、long和String)存储在应用程序的私有目录下(data/data/包名/shared_prefs/)自己定义的xml文件中。
通过eidt()方法来修改里面的内容,通过Commit()方法来提交修改后的内容。
重要方法:
public abstract boolean contains (String key) //检查是否已存在该文件,其中key是xml的文件名。
edit() //为preferences创建一个编辑器Editor,通过创建的Editor可以修改preferences里面的数据,但必须执行commit()方法。
getAll() //返回preferences里面的多有数据
getBoolean(String key, boolean defValue)// 获取Boolean型数据
getFloat(String key, float defValue) // 获取Float型数据
getInt(String key, int defValue) // 获取Int型数据
getLong(String key, long defValue) // 获取Long型数据
getString(String key, String defValue) // 获取String型数据
注册一个当preference发生改变时被调用的回调函数
registerOnSharedPreferen
删除当前回调函数
unregisterOnSharedPrefer
SharedPreferences.Editor 接口用来修改SharedPreferences对象的内容
clear():清除内容。
commit():提交修改
remove(Stringkey):删除preference
简单使用
存入:
param 文件名 , 保存类型
SharedPreferences preferences = getSharedPreferences("preferences", Context.MODE_PRIVATE); SharedPreferences.Editor editor = preferences.edit(); editor.putBoolean("boolean", false); // 这里可以put多种类型 editor.apply(); // 写入
取出:
SharedPreferences preferences = getSharedPreferences("preferences", Context.MODE_PRIVATE); preferences .getBoolean("boolean", false);
put 和 get 第二个参数如果获取不到时的默认值
保存类型
MODE_PRIVATE
MODE_WORLD_READABLE
MODE_WORLD_WRITEABLE
SharedPreferences 在App升级时是不会清除掉原本数据的,只有在App卸载时才会清除SharedPreferences文件。