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()方法中加入新字段的添加代码,如下:
[java]
loadIntegerSetting(stmt, "homescreen_switch_effict",
R.integer.def_homescreen_switch_effict);
loadIntegerSetting(stmt, "homescreen_switch_effict",
R.integer.def_homescreen_switch_effict);
3、重新编译一个SettingsProvider.apk,再替换原来的SettingsProvider.apk
4、用Settings.System.putInt();Settings.System.getInt()来设置和取得设置的值
以上是网上其他人的用法,不知道是否正确。我看是不是可以这样用?
在 settings.java中添加自己的字符串:
public static final String MULTI_WINDOW = "MULTI_WINDOW";
再添加到数组中去:
public static final String[] SETTINGS_TO_BACKUP ={
MULTI_WINDOW,
}
设置的时候如下:
Settings.System.putInt(
mContext.getContentResolver(),
Settings.System.MULTI_WINDOW,
duochuangkou ? 1 : 0);