Android之首选项相关 Preferences(一)

2014-11-24 08:59:30 ? 作者: ? 浏览: 0

这里,我将对其进行一点简单的描述,可能说法并不严谨,但是至少能帮助你理解到底什么事首选项:


首选项这个词是preference翻译过来的,至于它到底是什么,我用一句话概括下:preference是一种android为我们提供的方便的对数据进行存储的工具。


分析这句话:


首先,我们明确,preference是和数据存储相关的。


其次,它能帮助我们方便的进行数据存储!为什么这个地方一定要强调下方便的这个词呢?原因是,我们可以根本就不使用,我们有另外的N种办法可以实现同样的功能!它的出现,相当于为我们提供了一个方便的工具,当然了,这个工具并不是必须的。


preference都应用在什么场景呢?


这得从android对preference的实现说起,实际上,preference所存储的数据最后都会以xml文件格式的形式进行保存,而且其只能保存一些基本格式的数据。例如string/boolean……。该xml文件存放的位置在data/data/你应用的包名/shared_prefs文件夹下。


种种的限制与实现机制表明了,preference非常适合于参数设置功能。实际上,它也确实是干这个的,我们通过使用preference可以迅速的将某些值保存进xml文件中,然后我们可以读取这些设置信息进行相应的操作。



为了简化与preference相关的应用开发,android为我们提供了一系列的api来帮助我们。主要有PreferenceActivity,ListPreference,EditTextPreference,CheckBoxPreference,RingtonePreference



下面我们简单的介绍下ListPreference的用法:


最终效果图:



当我们点击该选项时,会弹出这样一个选择页面。



我们选择了山东,然后该页面就会自动关闭,并且和山东所对应的值也已经写入了后台的xml文件中。



activity代码:




res/xml/mylistperference.xml布局文件



res/values/arrays.xml为我们的list提供了初始化数据哦



当我们运行,并选择了福建时,我们可以查看在shared_prefes下的xml文件如下:



< xml version='1.0' encoding='utf-8' standalone='yes' >

fujian1



我们可以看到,myListPreference就是我们指定的那个android:key的值,而fujian1就是我们在arrays中定义的某个值!


-->

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: