私は知っている、私は炎症を取得し、地獄の燃え盛りにキャストします....
SharedPreference
設定を包むletonクラス..このような何か:
public class PrefSingleton{
private static PrefSingleton mInstance;
private Context mContext;
//
private SharedPreferences mMyPreferences;
private PrefSingleton(){ }
public static PrefSingleton getInstance(){
if (mInstance == null) mInstance = new PrefSingleton();
return mInstance;
}
public void Initialize(Context ctxt){
mContext = ctxt;
//
mMyPreferences = PreferenceManager.getDefaultSharedPreferences(mContext);
}
}
そして、あなたの例は、例えば、問題に代表される何のラッパー関数を作成し、
PrefSingleton.getInstance().writePreference("exampleSetting", "off");
と実施可能性
// Within Singleton class
public void writePreference(String key, String value){
Editor e = mMyPreference.edit();
e.putString(key, value);
e.commit();
}
最初のアクティビティから、シングルトンクラスをアクティブにして、このように、このような何か:
PrefSingleton.getInstance().Initialize(getApplicationContext());
私はダウン投票リスク理由、グローバル静的クラスを使用することは悪い考えすることができているとプログラミングの基礎の練習に反します。 BUTによれば、コードはどんなアクティビティであっても、クラスの1つの唯一のオブジェクトが存在し、アクセシブルであることが保証されます。
私の答えを参照してください。それは動作します –