【安卓】SharedPreferences

SharedPreferences,翻译过来是共享偏好,是用于以键值对的形式存储应用偏好信息的API,使用方法一般是先获取指向某个文件的SharedPreferences对象,然后使用该对象读写键值对。

获取SharedPreferences对象

有三个方法可供选择:

  • Context类的getSharedPreferences()
    • 可以指定文件名name和打开模式modemode目前只能指定MODE_PRIVATE,其他均被弃用
    • 对同一个文件多次调用只会返回一个实例,线程安全
    • 如果SharedPreferences目录(/data/data/<package name>/shared_prefs/)不存在,会先创建
    • 如果指定的文件不存在,将会在调用edit()方法时创建
  • Activity类的getPreferences()
    • 默认使用活动类名作为文件名,只能指定打开模式mode
    • 该偏好文件属于调用的活动,是私有的
  • PreferenceManager类的getDefaultSharedPreferences
    • 传入context
    • 获取整个应用的默认共享偏好设置文件

写入SharedPreferences

通过调用SharedPreferences对象的edit()方法来获取SharedPreferences.Editor对象,然后使用其提供的putInt()putString()等方法写入键和值,最后调用apply()commit()提交更改。apply()会将对SharedPreferences对象的修改异步写入磁盘,而commit()同步写入磁盘,所以可能会阻塞主线程。

读取SharedPreferences

通过直接调用SharedPreferences对象的getInt()getString()等方法来获取键对应的值,需要传入默认值

猜你喜欢

转载自www.cnblogs.com/huzheyu/p/android-sharedpreferences.html