最近做需求用到Settings数据库比较多,简单总结一下。
SettingsProvider对数据进行了分类,分别是Global、System、Secure三种类型,它们的区别如下:
Global:所有的偏好设置对系统的所有用户公开,第三方APP有读没有写的权限; System:包含各种各样的用户偏好系统设置; Secure:安全性的用户偏好系统设置,第三方APP有读没有写的权限。
Settings数据库的数据保存在手机/data/system/users/0目录下,settings_global.xml 、settings_system.xml、settings_secure.xml三个文件中分别是上面说的三种数据。

/frameworks/base/core/java/android/provider/Settings.java
以 int 类型为例:
写入数据:
Settings.Global.putInt(ContentResolver cr, String name, int value);
读出数据:
Settings.Global.getInt(ContentResolver cr, String name, int def);