他のいくつかのクラスからクラスのインスタンスにアクセスしたいと思います。アクセスしたいクラスには、ユーザーが選択した設定を保持する必要があります。違うクラスのクラスにアクセスする私の方法は正しいですか? (Androidスタジオ、Java)
私のMainActivityでは、他のクラスからアクセス可能なクラスのインスタンスを作成します。
public static SettingsHolder holder = new SettingsHolder();
はその後、私はMainActivityから別のアクティビティを開始します。
クラスの設定を開きますpublic void onSettings(View view){
Intent i = new Intent(MainActivity.this, Settings.class);
startActivity(i);
}
。設定ののonCreateメソッドでは私がしている:私は上記の設定のクラスから
private SettingsHolder holder;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.settings);
holder = MainActivity.holder;
}
は今、ホルダークラスからパブリック変数/メソッドを設定および取得することができるはずですか?私が尋ねる理由は、私がこれを行う方法を検索したときに、私はputExtras
とgetExtras
のようなものを私のonSettings
メソッドで使用することを示唆したメソッドしか見つけなかったからです。
ライブラリの機能を使用する代わりに、独自のSettingsHolderクラスを定義する理由を教えてください。例えば。私はあなたが 'SharedPreferences'を使って調べるべきだと思います。 – Elyasin
私はまだ、SettingsHolderクラスでは、私はsharedpreferencesを使用してそのクラスのすべての変数を設定するメソッドを呼び出します。しかし、あなたは、私が設定ホールダークラスの新しいインスタンスを全く作成する必要はないと言っています、どうすればいいですか? – Taegos
'SharedPreferences'クラスを直接使用してください。これはAndroidライブラリによって提供されています。なぜ、最後に同じことをするクラスを使うのですか?私はその理由を見ません。そのためのAndroidのドキュメントを読んでください。 – Elyasin