1.Settings的初始化:在SettingsProvider中进行。
源码地址:android\frameworks\base\packages\SettingsProvider
需要增加或者修改初始化参数,在DatabaseHelper.java中直接增加或是修改。
例如:
在
frameworks/base/packages/SettingsProvider/res/values/default.xml文件中增加:
<string name="def_user_input_method" translatable="false">com.android.inputmethod.latin/.LatinIME</string>
DatabaseHelper.java中进行初始化:
loadIntegerSetting(stmt, Settings.Secure.DEFAULT_INPUT_METHOD,R.string.def_user_input_method);
2.改Settings系统设置(默认值)
位置:frameworks/base/packages/SettingsProvider/res/values/
default.xml
3.在android settings.db数据库中添加一项新的设置
Settings数据存放在com.android.providers.settings/databases/settings.db 中
数据库中数据的默认数据在frameworks/base/packages/SettingsProvider/res/values/defaults.xml中定义,如果要在数据库中添加一个新的字段,则可用如下步骤:
(1)在defaults.xml中为新加的数据定义一个默认值(当然也可在代码中直接给定)
(2)在frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java中的
loadSystemSettings方法中加入新字段的添加代码,如下:
loadIntegerSetting(stmt, "homescreen_switch_effict",R.integer.def_homescreen_switch_effict);
(3)重新编译一个SettingsProvider.apk,再替换原来的SettingsProvider.apk
(4)用Settings.System.putInt();Settings.System.getInt()来设置和取得设置的值