【Android開発】グローバル変数的な共通のクラス(Java)
Javaでログイン情報の格納とかでプロジェクト共通で参照するグローバル変数的なクラスをどう実装するか調査したメモ。
シングルトン(Singleton)というデザインパターンを使えばできるみたい。
そういえば「Java言語で学ぶデザインパターン入門」を読んだときにそんなん書いてあったな・・・。
詳しく(サンプルプログラム)は下記サイトを参考に。
@IT:Java TIPS -- クラスのインスタンスを1つに保つ(Singletonパターン)
例えば、ユーザー情報を格納する場合は次のような感じ。
public class UserSession {
// Start プロジェクトで共通のインスタンスにする処理(シングルトンパターン)
private static UserSession instance = new UserSession();
private UserSession(){}
public static UserSession getInstance() {
return instance;
}
// End プロジェクトで共通のインスタンスにする処理(シングルトンパターン)
private String _UserName = "";
public void setUserName(String sUserName) {
this._UserName = sUserName;
}
public String getUserName() {
return _UserName;
}
}このクラスをimportして
UserSession objUser = UserSession.getInstance();
objUser.setUserName("hogeuser");
をしてから、別のActivity(クラス)で
UserSession objUser = UserSession.getInstance();
Log.d("tag", objUser.getUserName());
をしてみるとさっきセットした名前を出力してくれているはず。
.NETの開発でも応用できる。
デザインパターンをもう一度勉強しなおそうかな。