Androidでグローバル変数を設定する方法は?
Androidでは、グローバル変数を設定するのに次の方法があります。
- アプリケーション型のカスタマイズクラスをアプリケーションのグローバルコンテキストとして使用するよう指定するには、タグ内にandroid:name属性を追加します。
public class MyApp extends Application {
private String globalVariable;
public String getGlobalVariable() {
return globalVariable;
}
public void setGlobalVariable(String globalVariable) {
this.globalVariable = globalVariable;
}
}
- SharedPreferencesでグローバル変数を保存する:SharedPreferencesはAndroidが提供する軽量なストレージ機構で、単純なキーバリューデータの保存に利用できます。グローバル変数をSharedPreferencesに保存しておき、必要な場面で読み出すことが可能になります。
SharedPreferences sharedPrefs = getSharedPreferences("MyPrefs", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPrefs.edit();
editor.putString("globalVariable", "value");
editor.apply();
他の場所でグローバル変数を取得する際には、次のように読み取れます。
SharedPreferences sharedPrefs = getSharedPreferences("MyPrefs", Context.MODE_PRIVATE);
String globalVariable = sharedPrefs.getString("globalVariable", "");
- グローバル変数をシングルトンパターンを使用して設定する。シングルトンクラスを作成し、その中にグローバル変数とそのアクセサメソッド(getter/setter)を定義する。グローバル変数を使用したい場合は、シングルトンクラスのgetterメソッドを呼び出してグローバル変数を取得する。
public class GlobalVariable {
private static GlobalVariable instance;
private String globalVariable;
private GlobalVariable() {}
public static GlobalVariable getInstance() {
if (instance == null) {
instance = new GlobalVariable();
}
return instance;
}
public String getGlobalVariable() {
return globalVariable;
}
public void setGlobalVariable(String globalVariable) {
this.globalVariable = globalVariable;
}
}
他の箇所でグローバル変数を取得するときは、以下のように呼び出します。
String globalVariable = GlobalVariable.getInstance().getGlobalVariable();
グローバル変数の設定には3つの方法があります。必要に応じて適切な方法を選択してください。