preference_详解_第1页
preference_详解_第2页
preference_详解_第3页
preference_详解_第4页
preference_详解_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、看到很多书中都没有对 PreferenceActivity 的在这总结一下,也方便日后查找。PerferenceActivity 是什么,看下面的截图:置和管理,那么它是怎么保存数据的呢,如何创建件的呢。PrefenceActivity 的呢,更关键是怎样触发相应事先看第一个问题,PreferenceActivity 是如何保存的数据。对 Android 系统了解的都知道,Android系统有四种基本的数据保存方法,一是 SharedPreference,二是文件,三是 SQLite,四是 ContentProvider。看出来了吧,Preference,对就是使用 SharedPrefern

2、eces 以键值对的形式进行保存的,当然,我们也可以通过SharedPreferences 来获取 PreferenceActivity 设置的值。第二个问题:如何创建一个 PreferenceActivity。其实 Eclipse 提供了相应的创建工具,和创建 Layout 是基本相同的。步骤如下:创建 Android 项目,并添加一个 Androidxml 文件。注意,这次选择的不是 Layout,而是Preference,而且注意 Folder 路径是 res/xml.Android 系统截图(左)MusicPlayerSetting 截图(右)好了,我们看到 Android系统本身就大

3、量用到了 PreferenceActivity 来对系统进行信息配做介绍,而我正好又在项目中用到,所以就把自己的使用添加完成之后,在 res/xml/下打开添加的 preference.xml 文件。可以看到Android 也为我们提供两种编辑模式, 可视化的结构设计及 xml 源码设计。 推荐使用 structure 进行创建。如图所示:ArxkcMlxmlMlHwwrii回电v|_Pm3r*l:ftfrrfifvrC*WJ*1*IkSeaf*rftmxHvm0*pp4rAPmw*4Ppi114C-hklftMftFwimmc.hif&kfeiPrwtert*,I51HuEwdhK9

4、ing.网时道FwmhfrrivrfiTATrripri4iwc#ll幻*p#V ll!下面我们看看 PrefeneceActivity 都提供了哪几种元素可供使用。点击 Add 按钮,在打开的新窗口中可以看到以下几项:CheckBoxPreferenceIEditTextPrefersneeListPreferencePreference-PPreferenteCategory.i-t.;-,”a”回:PrferenteScreen.i-lUi-l-IUI-IUI-lil-l-IUI-li-il-IUI-l-lil.i.,.iRingtonePreferenceF三三士-sEgp,占rGh-

5、w0w:AHMvtnfar(miiaPwf*rwncflVW*!Wgf*H*BAEHbvMtCheckBoxPreference:CheckBox 选择项,对应的值的 ture 或 flase。如图:Wi-Fi打开WbFIEditTextPreference:输入编辑框,值为 String 类型,会弹出对话框供输入Preferencecategory:用于分组。效果如下无废和网撞出,飞行模式慎用斯强无性连接Intprnpt#宴PreferenceScreen:PreferenceActivity 的根元素,必须为它ListPreference:列表选择,弹出对话框供选择Preference:只

6、进行文本显示,需要与其他进行组合使用OK,Preferenc 的基本元素介绍完毕,下一节将使用它们创建一个完整的 Preference 并进行显示。分析 MusicPlayerSetting,第一部分为我的位置”,包括使用无线网线”和使用 GPS”两个部分,而且都是CheckBox,根据上节学习,应该包括一个 Preferencecategory 和两个 CheckBoxPreference。Xml 代码:以上代码当然也可以用 Android 提供的 IDE 工具直接生成。视频结构如下: _PJPreferenceScreeripply_wifi(CheckBoj(Pr*ftrence)Pre

7、ferenceCategory 属性分析:title:显示的标题key:唯一标识 (至少在同一程序中是唯一) , SharedPreferences 也将通过此 Key 值进行数据保存,也可以通过 key 值获取保存的信息(以下相同)。CheckBoxPreference 属性分析:Key:唯一标识.title:显示标题(大字体显示)summary:副标题(小字体显示)defaultValue:默认值(当然,此处只能是 true 或 false 了)Preference.xml 的第二部分为无线和网络设置”,此部分包括的内容比较多,也稍微复杂,一步一步来分析。xml 代码:对应的 Struct

8、ure 图:applmfi(ChtckBoApffliernce.曲app-i_qpi(hec*;BcPrefrrrficrl_P!PrrferefxeCtftfgotappJy_ftyiCheckBojcPfrenceapplyjnttrnei(开始。Preference 属性分析:Key:唯一标识.title:显示标题(大字体显示)summary:副标题(小字体显示)dependency:附属(嘛意思),即标识此元素附属于某一个元素(通常为CheckBoxPreference),dependency 值为所附属元素的 key。上面代码中的 Preference 元素附属于 key 等于ap

9、ply_bluetooth的 CheckPreference 元素,当 CheckPreference 值为 true 时,Preference 则为可用,否则为不可用。EditTextPreperence 属性分析:Key:唯一标识.title:显示标题(大字体显示)ListPreference 属性分析:Key:唯一标识.title:显示标题(大字体显示)dialogTitle:弹出对话框的标题entries:列表中显示的值。为一个数组,通读通过资源文件进行设置。entryValues:列表中实际保存的值,也 entries 对应。为一个数组,通读通过资源文件进行设置。以下代码显示的是 a

10、rrays.xml 文件中内容:综合部行政部夕卜贸部001002003RingtonePreference:玲声(暂时没有用到过),暂时略过。OK,Preference.xml 内容已经分析完毕,属性都大致相同,相信亲自动力一试也就那么回事。那么如何把 Preference.xml 中内容展现出来呢?Layout 是通过继续自 Activity 的类来进行显示的,前面提到过,PreferenceActivity 是专门用于显示preference 的,所以只要创建一个继承自 PreferenceActivity 类即可。代码如下:publicclassSettingextendsPrefere

11、nceActivityOverridepublicvoidonCreate(BundlesavedInstanceState)super.onCreate(savedInstanceState);/所的的值将会自动保存到 SharePreferencesaddPreferencesFromResource(R.xml.preference);接下来就是运行程序,显示劳动成果。至此,工作已经完成大半,所有的值都会保存到SharedPreferences 中,我们也可以读取到保存的结果。还有一个重要的问题,就是如何响应 PreferenceActivity 的操作。其实只要重写 PreferenceActivity 的onPreferenceTreeClick 的方法就可以了,通过参数 preference 来判断是对

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论