Androidアプリケーションのメモリ状態は流動的である可能性があるため、静的変数またはインスタンス変数を使用してこの状態を保持することに注意してください。バックグラウンドでアプリケーションプロセスが強制終了された場合、メモリにのみ保存されているデータは、知らないうちに破棄される可能性があります。
SharedPreferences
最も簡単なメカニズムは、アプリケーションのどこからでもアクセスできるようにデータを永続化することです。したがって、最初にログインから取得した文字列を保存します(これは、アクティビティ内で呼び出されます、FYI)。
//Write the username string to preferences
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
prefs.edit().putString("userName", userNameString).commit();
次に、アプリケーションの他の場所(つまり、他のアクティビティインスタンス)がその文字列を読み取ることができます。
//Read the username string
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
String userName = prefs.getString("userName", "");
を使用SharedPreferences
すると、値は実際に保持されます。つまり、値はディスク上で永久に存続し、アプリケーションのメモリがリセットされたからといって消えることはありません(これは通常、特にログイン情報にとって有利です)。このため、ユーザーが次のように「ログアウト」したときにも文字列を削除する必要があります。
//Remove the username string from preferences
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
prefs.edit().remove("userName").commit();
contains()
値が現在保存されているかどうか(ユーザーがログインしているかどうか)を確認できるようにするなどの方法もあります。