如何在另一个活动中获取共享偏好值

时间:2014-02-26 07:04:23

标签: android database sharedpreferences

在activity1

中拥有共享权限中的值 像这样

prefs=getSharedPreferences(prefName, MODE_PRIVATE);
        SharedPreferences.Editor edtior=prefs.edit();
        edtior.putString(VALUE_KEY,check.toString());
        edtior.commit();

我需要在另一项活动中获得价值。我试过这样的

SharedPreferences prefs=getSharedPreferences(prefName, Context.MODE_PRIVATE);
        edittext.setText(prefs.getString(VALUE_KEY,""));

这很好用。

像这样我需要在DBHelper类中获得相同的值。如何在DBHelper中获取共享的perferences值。

我在DBHelper中尝试过这样的事情

SharedPreferences prefs=getSharedPreferences(prefName, Context.MODE_PRIVATE);
            String key =(prefs.getString(VALUE_KEY,""));

语法有什么问题?

3 个答案:

答案 0 :(得分:1)

试试这个

SharedPreferences prefs= context.getSharedPreferences(prefName, Context.MODE_PRIVATE);
        String key =(prefs.getString(VALUE_KEY,""));

您必须将context传递给DBHelper。

答案 1 :(得分:0)

要访问DBHelper类中的getSharedPreferences方法,您需要使用DBHelper类构造函数将Context传递为:

 private context;

 public DBHelper(Context context){
  this.context=context;
 }

现在使用contextgetSharedPreferences方法称为:

SharedPreferences prefs=context.getSharedPreferences(prefName, 
                                               Context.MODE_PRIVATE);
String key =(prefs.getString(VALUE_KEY,""));

答案 2 :(得分:0)

试试这个。它可能对你有所帮助..

 SharedPreferences  _sPrefs =getSharedPreferences("myPrefs", Context.MODE_PRIVATE); 
        String temp = _sPrefs.getString("VALUE_KEY", "");