ユーザーがログインしたときにバックグラウンドでサーバーからデータをロードするローダークラスがあります。
クラスには静的フィールドがあり、
public static String previousTime = "";
このフィールドには、(バックグラウンドで) 次のコードで値が割り当てられます。
long localTime = dateTimeZone.convertLocalToUTC(lastSynchDate.getMillis(), false);
SyncDateTime = formatter.print(localTime);
if(!response.equals(""))
{
JSONObject resetJson = new JSONObject(response);
previousTime = resetJson.getString("previousTime");
success = resetJson.getString("success");
}
}
if(previousTime.equals(""))
{
previousTime = SyncDateTime;
}
static フィールドpreviousTimeの値は保持されます。ここまでは順調ですね。
ただし、同じコードの場合、ユーザーがログイン状態にある間にアプリケーションが再構築されると、previousTimeの値が失われ、空白になります。
次に、値を取得するために再度ログインする必要があります。
値を静的に保つことは、アプリケーションの再構築後も値を保持する必要があると考えました。しかし、何が原因で空白になっているのかはっきりとはわかりません。