Preference用例扩展及自定义用例详解.docxVIP

  • 9
  • 0
  • 约5.52千字
  • 约 15页
  • 2017-12-17 发布于河南
  • 举报
Preference用例扩展及自定义用例详解

基础在Ap中有时需要设置一些配置参数,这些参数通过配置文件保存。为了设置这些参数,需要提供一个UI,针对这种需求,Android提供了preferenceActivity。 PreferenceActivity通过读取预先定义的xml文件来生成界面,并能够自动的根据用户的操作来修改参数,并保存到配置文件中供读取。 1.MainActivity: 按下Menu按键弹出菜单,点击菜单启动SettingActivity。 2.SettingActivity继承自PreferenceActivity:Java代码?@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);addPreferencesFromResource(R.xml.settings);}在onCreate函数中加载参数定义文件。Java代码public?void?onSharedPreferenceChanged(SharedPreferences?sharedPreferences,?String?key);?当参数值被改变时会调用此Listener,可以在此Listener中作一些界面刷新工作,比如当前参数值改变为新的值。?Java代码Preference?android.preference.PreferenceActivity.findPreference(CharSequence?key);?获取指定key所对应的preference对象,即使此key在配置文件中尚未保存,也能够得到preference对象,而不会是null。?3.settings.xml:保存在xml目中的参数定义文件,在创建Android XML文件时选择Preference即可创建一个空的参数定义文件。?Xml代码??xml version=1.0 encoding=utf-8?PreferenceScreen xmlns:android=/apk/res/android/PreferenceScreen??添加一个CheckBoxPreference子项,并设置属性:Key:checkbox_key?Title:CheckBox ItemSummary:test check box itemXml代码??xml version=1.0 encoding=utf-8?PreferenceScreen xmlns:android=/apk/res/androidCheckBoxPreference android:key=checkbox_keyandroid:title=CheckBox Item android:summary=test check box item/CheckBoxPreference/PreferenceScreen??key是用来访问此参数的值的关键字,保存后的配置文件类似如下内容:Xml代码??xml version=1.0 encoding=utf-8 standalone=yes ?mapboolean name=checkbox_key value=true //map启动Ap,点击菜单,即可看到参数设置界面,并且当用户点击操作改变了参数值后,也会被自动保存。?4.使用参数值:SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this);? boolean check_test = sp.getBoolean(checkbox_key, false);进阶:?1.保存参数文件的路径:/data/data/包名/shared_prefs/包名_preferences.xml?如果想指定保存文件名,可使用:getPreferenceManager().setSharedPreferencesName(配置文件名);?2.其他的参数配置项:2.1 EditTextPreference:Xml代码?EditTextPreference android:dialogTitle=Edit Text Dialogandroid:key=edittext_key android:dialogMessage=Please Input textandroid:title=EditText Item android:summary=test edittext item/EditTextPreference??此参数设置项会弹出一个文本输入对话框,并在配置文件中生成类似以下内容:string name=edittext_keythis is a good

文档评论(0)

1亿VIP精品文档

相关文档