0

タイトルは質問です。共有設定に文字列値を保存しましたが、そのクラスでアクセスできました。今、別のクラスの別のメソッドからアクセスしたいと思います。いくつかの方法を試しましたが、うまくいきませんでした。

共有設定内に文字列を保存するクラス:

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);
 }

}

4

2 に答える 2

0

コンテキストを受け入れるそのクラスのコンストラクターを作成するだけです。例として:

class Abc
{
    Context contaxt;
    public Abc(Context context)
    {
        this.context = context;
    }
}
..........
..........
// now use this context to SharedPref..
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(context);
于 2012-07-14T08:23:12.607 に答える
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();
于 2012-07-14T08:24:29.860 に答える