Android Preference技巧 持久化

本文转载自:http://eyeandroid.diandian.com/post/2012-09-24/40038925213

我们经常会在Android应用程序中使用Preference来作为应用程序的配置,那么这些配置是怎么保存的呢?

我们通用会用数据库、文件或者Preference的方式。写数据库和文件的方式是比较麻烦的,Android的Preference为我们提供了简便的持久化方式:

   <CheckBoxPreference
           android:key="wifi_enabled"
           android:title="@string/wifi"
           android:summary="@string/wifi_quick_toggle_summary"
           android:persistent="true" />

例如上面的代码:我们不用向任何数据库或者文件写如任何数据,这个设置就会自动被保存,并且系统重启后不会丢失,其关键代码在于android:persistent="true"这一句,这个属性的默认值也是true,这表示Preference会自动帮我们把wifi_enabled这个属性保存到/data/data/PackageName/shared_prefs目录下的PackageName_preference.xml中,格式如下:
<boolean name="wifi_enabled" value="true" />
其他的Preference也是一样的原理。

我们可以通过如下方式取出此数据:

SharedPreferences mPrefs = PreferenceManager.getDefaultSharedPreferences(this);
boolean flag = mPrefs.getBoolean("wifi_enabled", false);

如果不想由Preference保存数据,我们可以将android:persistent这个属性设为false就行了,我们也可以在自定义的PreferenceActivity中注册相应的Listener来实现我们自己的持久化。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值