【发布时间】:2013-08-22 11:30:23
【问题描述】:
我有一个加载器类,当用户登录时,它会在后台从服务器加载数据。
该类有一个静态字段,
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;
}
静态字段previousTime的值被保留。到目前为止一切顺利。
但是对于同样的代码,当用户处于登录状态时,如果重新构建应用程序, previousTime 值丢失并变为空白。
那我需要重新登录,才能拿到值。
我认为即使在应用程序重建后保持值静态也应该保留该值。 但我不清楚是什么导致它为空白。
【问题讨论】:
-
使用共享偏好并将值存储在那里
-
好主意,我会这样做的。但是有什么理由为什么一旦赋值就变成空白了吗?
-
当应用程序重新启动时,您的静态值会重新初始化。
-
非常详细。谢谢@Raghunandan。
标签: android scope static-methods