自己编写的软件希望达到如下功能,比如里面有一些选项,设置选择以后,希望手机可以自动保存记录,下次开机或者重启时自己的设置不会改变,这个时候就要用到Preference,非常方便。
Preference直译为偏好,博友建议翻译为首选项。一些配置数据,一些我们上次点击选择的内容,我们希望在下次应用调起的时候依然有效,无须用户再一次进行配置或选择。Android提供preference这个键值对的方式来处理这种情况,自动保存这些数据,并立时生效,同时Android提供一种类似的layout的方式来进行Prefernce的布局。
一个简单的Preferenece例子
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
android:key="setting"
android:title="设置" >
<PreferenceCategory
android:key="basic"
android:title="基本设置" >
<CheckBoxPreference
android:key="checkbox"
android:summaryOff="Check it off"
android:summaryOn="Check it on"
android:title="CheckBox Preference" >
</CheckBoxPreference>
<RingtonePreference
android:key="ringtone"
android:showDefault="true"
android:showSilent="true"
android:summary="Pick a tone, any tone"
android:title="Ringtone Preference" />
</PreferenceCategory>
<PreferenceCategory
android:key="list"
android:title="List设置" >
<ListPreference
android:defaultValue="0"
android:dialogTitle="List选择"
android:entries="@array/A"
android:entryValues="@array/textSize_entry_value"
android:key="list"
android:summary="AA"
android:title="文字大小" >
</ListPreference>
</PreferenceCategory>
</PreferenceScreen>
和用layout方式一样,代码很简单。和以往界面最大的区别是,我们对checkbox进行选择或者对ringtone进行选择后,这个选择结果是被保留的,当我们退出actitvity后再次进入,上次的选项依然保留,我们重新向模拟器load应用,发现之前的选项仍然存在。我们可以利用preference,而无须人工对数据进行保存和读取,很是方便。