调用PreferenceActivity.findPreference(CharSequence key)可获得指定名字的参数项。
2、使用代码手动添加
从PreferenceActivity派生一个子类,在该子类的onCreate方法中手动添加参数树。
(1)、获得参数树的根Preference;
getPreferenceManager().createPreferenceScreen(context).
(2)、按参数树的层级关系,创建参数元素,并添加到参数树的对应位置中。
添加使用到方法:PreferenceGroup.addPreference(Preference preference)。参数元素的类级别关系如下:
创建参数元素时参数的属性设置:
参数元素的属性设置方法可以参看代码,大部分均以“set”开头。xml文件中可以配置的属性,均可以使用代码来配置。
(3)、提交参数树
创建好参数树后,调用PreferenceActivity.setPreferenceScreen(PreferenceScreen preferenceScreen)方法提交参数树,该参数树的内容就能够显示出来。
五、如何操作参数
如何操作参数,即如何读取和修改参数。使用PreferenceActivity派生的子类,在如下几个函数中添加操作。
实现的Preference.OnPreferenceChangeListener接口,在此处理一些参数发生了变化的事情,不必在此保存参数,处理后返回true
参数的读取:
(1)、获取对应的SharedPreferences实例:
调用SharedPreferences pre = PreferenceManager.getDefaultSharedPreferences(Context context)获得。
(2)、使用pre读取参数:
读取的方法,大多以“get”开头,可以传入默认。如:
int mWriteColor = pre.getInt("WriteColor", 0xFFFF0000);
如果没有该参数,则返回默认0xFFFF0000。
参数的保存:
(1)、获取参数访问接口:
Editor editor = mSharedPref.edit();
其中,mSharedPref为SharedPreferences实例,该实例可以通过PreferenceManager.getDefaultSharedPreferences(Context context)获得;
(2)、写参数:
通过editor所提供的方法保存参数,如
editor.putBoolean(KEY_NAME_KEY_SOUND, mKeySound);
是将参数mKeySound以索引名KEY_NAME_KEY_SOUND保存到SharedPreferences实例所维护的一个数据文件中。
更多接口方法参看代码。
(3)、提交:
只有在设置好了参数后并调用如下的方法,最终的参数才会被保存起来。
editor.commit();
六、参数文件
preference这种参数访问机制,不允许跨进程使用,每个应用有自己独立的参数数据文件。
(1)、文件路径
系统运行时,应用的参数文件存在于如下路径:
data/data/packageName/shared_prefs
例如:
data/data/com.oppo.HanWangWriterIME/shared_prefs
导出以上的文件夹,在里面可以找到参数文件。该文件的命名规则为:
packageNam_preferences.xml
例如:com.oppo.HanWangWriterIME_preferences.xml
(2)、参数文件的组织形式
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/ruanjian/article-49636-5.html
国民党当选
老鼠仓