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

猜你喜欢

转载自wenzongliang.iteye.com/blog/1675664
今日推荐