小弟刚开始学习android,现在有这么一个需求:通过PreferenceActivity来设置一些参数,界面也通过这个activity来实现。
在PreferenceActivity中可以用下面这种方式拿到SharedPreferences中储存的数值,通过PreferenceManager.getDefaultSharedPreferences(this) 方法拿到控件默认储存的sharedPreferences对象。
 
1.SharedPreferences prefs =PreferenceManager.getDefaultSharedPreferences(this) ; 
2.   boolean something = prefs.getBoolean("something",false); 那如果不在这个PreferenceActivity中,而在同一个应用程序下的其他activity活着receiver中能读取这些数据么,如果可以怎么实现?能否给个简单的例子? 感激不尽! 网上查了很多资料都没有这方面的描述。

解决方案 »

  1.   

    在其他activity中也是用这个方法就可以了,我就是这么用的。
    PreferenceManager.getDefaultSharedPreferences(this);
      

  2.   

    这个我试过,用不了吧? 能不能举个例子,比如用 EditPerference,他本身存储的是字符串,如果用getDefaultSharedPreferences得到perference后,我用getString么,第一个参数用什么? 是用EditPerference的key么?
      

  3.   

    没人知道么,到底能不能再别的activity中读取preferenceactivity的数据啊?
      

  4.   

    SharedPreferences shp = PreferenceManager
    .getDefaultSharedPreferences(this);
    shebao_base_max_value = shp.getString("shebao_base_max", "14016");
    是用EditPerference的key,就是layout中定义的id。
      

  5.   

    感谢ameyume,验证了下,是我写的代码问题,按照你说的可以正常读取!