SharedPreference与PreferenceActivity使用

SharedPreference:

创建:

SharedPreferences settings = this.getSharedPreferences("TestXML", 0);

这四种模式前面介绍使用文件方式保存数据时已经讲解过。如果希望SharedPreferences背后使用的xml文件能被其他应用读和写,可以指定定Context.MODE_WORLD_READABLEContext.MODE_WORLD_WRITEABLE权限。

Context.MODE_PRIVATE  MODE_MULTI_PROCESS

写:

 

       以键值<String Key,String Value> 方式加入数据
       SharedPreferences.Editor localEditor = settings.edit(); 
       localEditor.putBoolean("ShowNote", false);
       IocalEditor.commit();

 

读:

 String str = settings.getString("ShowNote", "");

 

 

PreferenceActivity:

1.在设置界面中所有的内容会自动读和写,当PreferenceActivity上的View有所更改时,系统会自动将对应的值更新到XML配置文件中,该文件可以在android 的 file explorer 中的 data/data/"yourPageName"/shared_prefs/"yourpageName"_prefenrences.xml中找到。“yourpageName”表示你项目所在的包。

 

2.如果要其他地方读配置PreferenceManager.getDefaultSharedPreferences(context.getApplicationContext())取得一个SharedPreference。

 

 

3.还有一个重要的问题,就是如何响应PreferenceActivity的操作。其实只要重写PreferenceActivity的  onPreferenceTreeClick的方法就可以了,通过参数preference来判断是对那一个元素

进行的,并根据需要进行操作。 

@Override 

public boolean onPreferenceTreeClick(PreferenceScreen 

preferenceScreen, 

    Preference preference) { 

  return false; 

}

 

也可每个看成是普通的控件然后加监听。

 

 

 

 

getPreferences(): 另外Activity还提供了另一个getPreferences(mode)方法操作SharedPreferences这个方法默认使用当前类不带包名的类名作为文件的名称。
getSharedPreferences():获取到作用域是本应用程序的preference
getDefaultSharedPreferences():获取到全局作用域的preference

 

Context.getSharedPreferences()方法来读写数值,这个方法通过设置name来使得同一个程序内的其它模块共享数据。如果不需要与其它模块共享数据,可以使用Activity.getPreferences()方法保持数据私有

我的话费充值店-各种面额
电信100元仅售98.60 

联通100仅售99.00
移动100仅售99.30

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值