そのため、sessionKeyなど、サーバーからデータを受信するプロジェクトに取り組んでいます。私はこのようなゲッターとセッターメソッドを作成しました:
public class sEngine
{
private static String sessionKey;
public static String getSessionKey() {
return sessionKey;
}
public static void setSessionKey(
String sessionKey) {
sEngine.sessionKey = sessionKey;
}
}
次に、アクティビティAがあります。このアクティビティAでは、setterメソッドに値を挿入します。
public class A extends Activity
{
@Override
protected void onCreate(Bundle savedInstanceState) {
sEngine.setSessionKey("Hello world")
}
}
アクティビティBもあります。このアクティビティBでは、getterメソッドを呼び出します。
public class B extends Activity
{
@Override
protected void onCreate(Bundle savedInstanceState) {
String sessionKey = sEngine.getSessionKey();
}
}
たとえば、プログラムを長時間アイドル状態にした場合や、Advanced Task Killerを使用した場合など、Androidがメモリを解放するためにすべてのデータをワイプすることがあります。問題は、これらが発生した場合、アクティビティAで値を設定したにもかかわらず、getterメソッドを呼び出すとアクティビティBでnullになることです。setterメソッドを介して保存された値を維持する方法はありますか(使用する以外) SharedPreference)だから、Androidはメモリ/データをワイプしますが、値はまだそこにありますか?