SharedPreferences是Android中的一种轻量级的存储方式,它的本质是基于xml文件的键值对数据,通常用来保存一些基本的配置信息。其存储的位置位于data/data/(packageName)/shared_prefs目录下。我们可以使用SharedPreferences来保存任何原始数据,包括布尔值,浮点值,整形值,长整型和字符串!
获取SharedPreferences
要获取应用的SharedPreferences对象,可以使用getSharedPreferences(String name, int mode)来获取一个SharedPreferences对象,参数name表示文件的名字,有则打开,没有则创建。参数mode是方式,一般选择Context.MODE_PRIVATE。表示该文件只能自己所在的应用程序所访问。
也可以使用getPreferences(int mode)来获取一个SharedPreferences对象,通过此方法返回的SharedPreferences对象只能用于获得该对象的Activity。由于这是用于唯一Activity的选项文件,所以无需提供名字。
存储数据
要写入数据,需要SharedPreferences.Editor。可以通过sharedPreferences.edit()获取。在通过putBoolean(),putString()等方法添加值。最后使用commit()方法提交。
SharedPreferences shared = getSharedPreferences(NAME, Context.MODE_PRIVATE);
SharedPreferences.Editor editor = shared.edit();
editor.putBoolean(name,true);
editor.commit();
要读取数据,请使用getBoolean(),getString()等SharedPreferences方法。
SharedPreferences shared = getSharedPreferences(NAME, Context.MODE_PRIVATE);
String name = shared.getString(name,default)
回调
SharedPreferences可以通过registerOnSharedPreferenceChangeListener(SharedPreferences.OnSharedPreferenceChangeListener listener)方法来注册一个当Sharedpreferences发生变化时的回调函数.
unregisterOnSharedPreferenceChangeListener(SharedPreferences.OnSharedPreferenceChangeListener listener)删除当前回调函数。