所以我一直在處理從服務器接收數據的項目,例如sessionKey。我創建getter和setter方法是這樣的:Getter和Setter在Android中返回null
public class sEngine
{
private static String sessionKey;
public static String getSessionKey() {
return sessionKey;
}
public static void setSessionKey(
String sessionKey) {
sEngine.sessionKey = sessionKey;
}
}
然後,我有活性A.在此活動A,I值插入setter方法。
public class A extends Activity
{
@Override
protected void onCreate(Bundle savedInstanceState) {
sEngine.setSessionKey("Hello world")
}
}
我也有活動B.在該活動中B,我叫
public class B extends Activity
{
@Override
protected void onCreate(Bundle savedInstanceState) {
String sessionKey = sEngine.getSessionKey();
}
}
它發生對我來說,Android的抹布有時候所有的數據,以便釋放一些內存,對於getter方法例如,當我讓程序閒置太久時,或者我使用了Advanced Task Killer。問題是如果發生這種情況,當我調用getter方法時,我將在活動B中得到null,儘管我已經在活動A中設置了值。有什麼方法可以讓我保持通過setter方法存儲的值(除了使用SharedPreference),所以雖然Android會擦除存儲器/數據,但值仍然存在?
爲什麼不會告發」你想使用SharedPreferences嗎?它很容易使用,從這個問題*是安全的,這是一個普遍接受的方法。 – 2013-02-25 04:29:04
讓你的'sEngine'成爲單身。希望它可以幫助你。 – 2013-02-25 04:33:35
您也可以將數據保存在軟件包中 – Pragnani 2013-02-25 04:35:44