如何从另一个类的方法访问共享首选项的字符串值

时间:2012-07-14 08:21:31

标签: java android sharedpreferences

标题是问题。我已在共享首选项中保存了一个字符串值,我可以在该类中访问它。现在我想从另一个类的另一个方法访问它。尝试过某些方法,但没有奏效。

将字符串保存在共享首选项中的类:

http://pastie.org/4254511

类尝试检索先前以共享首选项保存的用户名:

public class testSharedPrefernce extends Activity{
TextView tv;
 @Override
    protected void onCreate(Bundle savedInstanceState){
     super.onCreate(savedInstanceState);
     setContentView(R.layout.lo);
     tv = (TextView)findViewById(R.id.textView1);
     SharedPreferences myPrefs = this.getSharedPreferences("myPrefs", MODE_WORLD_READABLE);
     String name = myPrefs.getString("NAME", "YourName");
     tv.setText(name);
 }

}

2 个答案:

答案 0 :(得分:0)

只需创建一个接受上下文的类的构造函数。例如:

class Abc
{
    Context contaxt;
    public Abc(Context context)
    {
        this.context = context;
    }
}
..........
..........
// now use this context to SharedPref..
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(context);

答案 1 :(得分:0)

使用以下代码获取偏好。

SharedPreferences myPrefs = this.getSharedPreferences("myPrefs", MODE_WORLD_READABLE);
boolean cbvalue = myPrefs.getBoolean("CHECKBOX", false);
String name = myPrefs.getString("NAME", "YourName");
String paswrd =myPrefs.getString("PASSWORD", "123");

使用以下代码保存首选项。

SharedPreferences myPrefs = this.getSharedPreferences("myPrefs", MODE_WORLD_READABLE);
SharedPreferences.Editor prefsEditor = myPrefs.edit();

prefsEditor.putString("NAME", "Dipak");
prefsEditor.putString("PASSWORD", "Dipak123");
prefsEditor.commit();